使用我的 Android 应用程序,当用户执行某个操作时,会启动一个后台服务,该服务会获取当前 GPS 位置并将其保存在数据库中,此外还会执行一些其他操作。在该服务中,我使用类中requestLocationUpdates()
的LocationManager
并等到onLocationChanged()
我的LocationListener
(由服务实现)被触发。但是等待onLocationChanged
开火的最佳方法是什么?我应该简单地轮询一个变量并等到它被设置吗?有小费吗?
onLocationChanged()
注意:由于其他一些东西,我不能简单地写入数据库。
编辑:为了澄清我的情况,我可以举一个类似于我的例子的例子:假设用户按下一个按钮并myMethod
触发一个方法,该方法将返回一些对象。然后,在这个 myMethod 中,我将注册来自 GPS 的位置更新(使用requestLocationChanged
),此外还等待用户位置并将其用于某些事情。换句话说,myMethod
在该位置出现之前不能返回。onLocationChanged
我不知道在这种情况下如何使用。