我需要一些帮助从方向传感器获取信息。正如我在几乎每个教程/指南中看到的那样,这些值被传递给一个事件(onSensorChanged(SensorEvent event)),它们可以在其中进行操作。

我的问题是我不想让电磁/方向传感器一直运行(为了电池生命周期)。我希望能够打开它,获取当前值并将其关闭。有没有办法做到这一点?

我做了一些搜索,发现我可以尝试多线程,但我对此并不完全满意。

我正在寻找的是类似的东西(对不起,我似乎无法弄清楚格式):

private void getOrientationNOW() {
   m_SensorManager.registerListener(mySensorEventListener, m_MagneticSensor, SensorManager.SENSOR_DELAY_FASTEST);
   //---->Something here to get the current value from the sensor
   m_SensorManager.unregisterListener(mySensorEventListener);
}

如果可以的话,请帮帮我!

谢谢大家!

最佳答案

当您为传感器注册监听器时,每次传感器值根据参数更改时都会调用该 Activity 。因此,如果您只想获得一次值,您可以做的是在获得一次值后取消注册该传感器的监听器。

关于android - 在不使用事件的情况下从传感器中提取单个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5738527/

10-12 04:09
查看更多