2011-11-12 58 views
3

我寫了一個簡單的應用程序來讀取加速計數據,我發現當我把手機放在桌子上並保持安靜時,採樣率太低(即使是一個樣本5秒)。我將採樣率設置爲最快,它的採樣率始終很高。爲何Android手機仍然處於傳感器採樣率太低?

我想知道Android爲什麼以及如何做到這一點?我猜jni或硬件總是讀取數據,但當它發現兩個樣本之間沒有變化時,它會丟棄數據。

回答

3

正如您從documentation of the sensor listener所看到的,當傳感器更改爲時,程序onSensorChanged被稱爲。這意味着如果您仍然握住設備,傳感器值不會改變。

我不得不承認,大多數手機都將噪音添加到傳感器值,並且這些值總是在變化;你應該爲你的手機「感到自豪」 - 它不會增加很多噪音。

+0

哦,它確實有道理。謝謝你的回答。 – MoreFreeze

+1

@MoreFreeze如果你使用的是Android 2.3+,你可以使用[NativeActivity](http://developer.android.com/reference/android/app/NativeActivity.html)。這個例子足以讓你開始。這樣你就可以儘可能快地獲得事件。 – INS