我想要以每100毫秒的指定速率讀取方向傳感器值。我該如何實現這一點以及如何指定100 ms的速率?我使用下面的代碼段來讀取方位傳感器:從the Documentation如何以指定的速率讀取Android中的方向傳感器數據?
mSensorManager.registerListener(此,mAccelerometer,SensorManager.SENSOR_DELAY_NORMAL)
我想要以每100毫秒的指定速率讀取方向傳感器值。我該如何實現這一點以及如何指定100 ms的速率?我使用下面的代碼段來讀取方位傳感器:從the Documentation如何以指定的速率讀取Android中的方向傳感器數據?
mSensorManager.registerListener(此,mAccelerometer,SensorManager.SENSOR_DELAY_NORMAL)
;
SensorManager.SENSOR_DELAY_NORMAL是速率
和作爲documentation說明:
速率傳感器事件在遞送。這只是對系統的暗示。事件可能比指定速率更快或更慢。通常事件收到更快。該值必須是SENSOR_DELAY_NORMAL,SENSOR_DELAY_UI,SENSOR_DELAY_GAME或SENSOR_DELAY_FASTEST之一。或者,微秒內事件之間的期望延遲。
這裏有一些近似基於測試結果:
Accelerometer, SENSOR_DELAY_FASTEST: 18-20 ms Accelerometer, SENSOR_DELAY_GAME: 37-39 ms Accelerometer, SENSOR_DELAY_UI: 85-87 ms Accelerometer, SENSOR_DELAY_NORMAL: 215-230 ms Orientation Sensor, SENSOR_DELAY_FASTEST: 16-17 ms Orientation Sensor, SENSOR_DELAY_GAME: 37-39 ms Orientation Sensor, SENSOR_DELAY_UI: 77 ms Orientation Sensor, SENSOR_DELAY_NORMAL: 224-225 ms
您也可以定義自己的速度,例如100毫秒。在我們
INT READINGRATE = 100000%時間 mSensorManager.registerListener(此,mLinearAccelerometer, READINGRATE);
但是,速率只是一個近似值,如果您需要準確的速率,最好使用一個定時器並每100ms獲取一個值。
David:它沒有指定我想作爲參數傳遞或指定的特定比率。有沒有辦法滿足指定的速度? – Shan
@Shan - 第三個參數是速率,以微秒爲單位。所以100毫秒= 100000微秒。 – prprcupofcoffee
@David:謝謝!因此,我可以將SENSOR_DELAY_NORMAL設置爲100000以獲得所需的速率。我應該在哪裏修改?我對Andoid非常陌生,這可能是愚蠢的。 – Shan