从传感器中拉出单个值而不使用事件

Rom*_*anP 5 android sensor

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

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

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

我正在寻找的东西是(抱歉由于缺乏格式化我似乎无法弄清楚):

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);
}
Run Code Online (Sandbox Code Playgroud)

如果可以,请帮助我!

谢谢大家!

Jos*_*hin 0

当您为传感器注册侦听器时,每次传感器值根据参数发生变化时都会调用该活动。因此,如果您只想获取一次值,您可以做的是在获取一次值后取消注册该传感器的侦听器。