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