使用我的Android应用程序,当用户执行某项操作时,将启动后台服务,该后台服务会获取当前的GPS位置并将其保存到数据库中,此外还会执行其他一些操作。在该服务中,我使用requestLocationUpdates()
类中的LocationManager
并等待,直到我的onLocationChanged()
(由服务实现)的LocationListener
被触发。但是,等待onLocationChanged
触发的最佳方法是什么?我是否应该简单地对变量进行轮询,然后等待它被设置?有小费吗?
注意:由于其他一些原因,我不能简单地用onLocationChanged()
写入数据库。
编辑:为了清除我的情况,我可以提出一个与我的情况类似的示例:
假设用户按下按钮,并触发了myMethod
方法,该方法将返回一些对象。然后,在此myMethod中,我将注册GPS的位置更新(使用requestLocationChanged
),此外还要等待用户的位置并将其用于其他用途。换句话说,myMethod
在存在该位置之前无法返回。我不知道在这种情况下如何使用onLocationChanged
。
最佳答案
设置位置后,将触发onLocationChanged,因此您无需轮询任何变量。为什么无法将位置保存在onLocationChanged中?
关于android - 等待GPS定位修复的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2585465/