Ras*_*oha 1 events android sensor
我正在尝试检测android设备的运动并从设备获取线性加速度值。我正在使用SensorEvent的时间戳,并将其与上次更新时间进行比较,以确定是否记录传感器值。但这没有任何作用。为什么不起作用?
@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType() == Sensor.TYPE_LINEAR_ACCELERATION) {
int value = (int) event.values[0];
if(actualTime - lastUpdate > 5000) {
Log.d(TAG, "" + value);
lastUpdate = actualTime;
}
Run Code Online (Sandbox Code Playgroud)
如果要更改访问传感器的速率,则可以像官方文档中一样在registerListener中指定频率。
@Override
protected void onResume() {
super.onResume();
mSensorManager.registerListener(this, mLight,SensorManager.SENSOR_DELAY_NORMAL);
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,当调用registerListener()方法时,将指定默认数据延迟(SENSOR_DELAY_NORMAL)。数据延迟(或采样率)控制通过onSensorChanged()回调方法将传感器事件发送到应用程序的时间间隔。默认数据延迟适用于监视典型的屏幕方向变化,并使用200,000微秒的延迟。您可以指定其他数据延迟,例如SENSOR_DELAY_GAME(延迟20,000微秒),SENSOR_DELAY_UI(延迟60,000微秒)或SENSOR_DELAY_FASTEST(延迟0微秒)。从Android 3.0(API级别11)开始,您还可以将延迟指定为绝对值(以微秒为单位)。
绝对有可能放慢它:)
| 归档时间: |
|
| 查看次数: |
1529 次 |
| 最近记录: |