我试图从方向传感器只获得 1 个事件。
我的代码是:
@Override
public void onSensorChanged(SensorEvent event) {
Log(event);
unregisterSensor(...);
}
然后每 1000 毫秒在一个线程中执行一次:
registerSensor();
Thread.sleep(2000);
问题是,如果我在方法结束后取消注册传感器(就像我已经完成的那样),那么下一次(当我重新注册传感器时)它将记录之前捕获的相同值事件(移动手机时) . 如果我让 onSensorChanged 能够运行两次(使用计数器),那么它会检测到正确的值并将该值记录两次。
只调用一次的方法有什么问题?