在没有侦听器的情况下获取加速度计和位置值



我想随时获取这些值,而不是在事件上。。。有可能吗?我看不到任何方法getXValue()、getLatitude()、ecc。。。

这些值是由硬件生成的,如果没有任何注册的侦听器,它们就不会生成值(以节省电池)。

对于Location,您可以从LocationManager调用getLastKnownLocation(),但不能保证您会得到一些东西,也不能保证您得到的东西甚至是相关的。

如果您只想在任何时候获取这些值,请创建侦听器并存储这些值,并使用返回这些值的方法。让你的监听器在一个单独的线程中运行,这样你就不会在UI上锁定任何东西。

还要确保适当调整事件交付的频率,以避免做太多工作。

你不能,因为这些操作需要时间,而且你不想在等待它们的时候阻塞UI。

最新更新