Android 传感器管理器延迟:将其设置为自定义值

Android Sensor Manager delay: setting it to a custom value

我想自定义这里使用的延迟时间。如果使用 SENSOR_DELAY_NORMAL,则延迟约为 0.2 秒(200,000 微秒)。我希望延迟大约为 0.35 秒。延迟不必非常精确,只要大于 0.2 秒且小于 0.4 秒即可。有什么建议我会怎么做?最小 API 是 15.

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

您可以在这四个默认值之外自由设置您想要的延迟,但是,不能保证。 调用示例:

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)

采样周期

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