Android Sensor Manager延迟:将其设置为自定义值

时间:2017-10-24 22:41:47

标签: android accelerometer

我想自定义此处使用的延迟时间。如果使用SENSOR_DELAY_NORMAL,则延迟约为0.2秒(200,000微秒)。我希望延迟大概是.35秒。延迟不必精确,仅大于0.2秒且小于.4。有什么建议我会怎么做? Min API是15。

protected void onResume() {
    super.onResume();
    mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}

1 个答案:

答案 0 :(得分:0)

您可以在这四个默认值旁边自由设置所需的延迟,但不能保证。 示例电话:

mSensorManager.registerListener(this, mAccelerometer, 100);
# 100 microsecond is the desired delay between two events here.
# you can change it to whatever value suits you. 

根据Android文档,它仅适用于API级别9。

详细信息:

boolean registerListener (SensorEventListener listener, 
                Sensor sensor, 
                int samplingPeriodUs)

<强> samplingPeriodUs

int:速率传感器事件在。这只是对系统的暗示。可以比指定的速率更快或更慢地接收事件。通常会更快地收到事件。该值必须是SENSOR_DELAY_NORMAL,SENSOR_DELAY_UI,SENSOR_DELAY_GAME或SENSOR_DELAY_FASTEST 之一,或者是事件之间所需的延迟(以微秒为单位)。以微秒为单位指定延迟仅适用于Android 2.3(API级别9)以上。对于早期版本,您必须使用SENSOR_DELAY _ 常量之一。*

您可以阅读此内容了解详情。 https://developer.android.com/reference/android/hardware/SensorManager.html