我想以指定的速率(例如每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/

10-09 00:05