使用我的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/

10-08 20:36