2012-12-28 57 views

回答

1

;

SensorManager.SENSOR_DELAY_NORMAL是速率

和作爲documentation說明:

速率傳感器事件在遞送。這只是對系統的暗示。事件可能比指定速率更快或更慢。通常事件收到更快。該值必須是SENSOR_DELAY_NORMAL,SENSOR_DELAY_UI,SENSOR_DELAY_GAME或SENSOR_DELAY_FASTEST之一。或者,微秒內事件之間的期望延遲。

+0

David:它沒有指定我想作爲參數傳遞或指定的特定比率。有沒有辦法滿足指定的速度? – Shan

+0

@Shan - 第三個參數是速率,以微秒爲單位。所以100毫秒= 100000微秒。 – prprcupofcoffee

+0

@David:謝謝!因此,我可以將SENSOR_DELAY_NORMAL設置爲100000以獲得所需的速率。我應該在哪裏修改?我對Andoid非常陌生,這可能是愚蠢的。 – Shan

0

這裏有一些近似基於測試結果:

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獲取一個值。