我想以指定的速率(例如每100毫秒)读取方向传感器值。我该如何实现以及如何指定100 ms的速率?我正在使用以下代码片段读取方向传感器:
final public SensorEventListener listener=new SensorEventListener() {
public void onSensorChanged(SensorEvent e) {
Log.d(TAG, "in sensor changed");
if (e.sensor.getType()==Sensor.TYPE_ORIENTATION) {
OrientationX=e.values[0];
OrientationY=e.values[1];
OrientationZ=e.values[2];
message_orientation = "OrientationX ="+String.valueOf(OrientationX)+", OrientationY ="+String.valueOf(OrientationY)+", OrientationZ ="+String.valueOf(OrientationZ);
Log.d(TAG, "Orientation value is "+message_orientation);
}
}
最佳答案
来自the Documentation
mSensorManager.registerListener(this,mAccelerometer,SensorManager.SENSOR_DELAY_NORMAL);
SensorManager.SENSOR_DELAY_NORMAL是比率
正如documentation所解释的:
速率传感器事件在交付。这只是对系统的提示。事件接收可能比指定速率更快或更慢。通常事件的接收速度更快。该值必须是SENSOR_DELAY_NORMAL,SENSOR_DELAY_UI,SENSOR_DELAY_GAME或SENSOR_DELAY_FASTEST之一。或者,事件之间的期望延迟(以微秒为单位)。
关于android - 如何以指定的速率读取Android中的方向传感器数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14074071/