我正在使用
myLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
在我的应用程序启动时检索当前位置。
正如 Android 文档所述,此位置可能是“过时的”,因为该方法会返回上次使用 GPS 时的位置。
我如何主动从 GPS 请求当前位置?我考虑过使用 LocationListener
,但这可能有点矫枉过正,因为我只需要一次位置(在我的应用程序开始时)。
有什么想法吗?
最佳答案
您最初的直觉是正确的 - 您需要使用 LocationListener
来请求更新。鉴于您只需要一个位置,您可以在第一个值返回后取消注册 LocationListener。
但实际上,多听一会儿可能是明智的。基于位置的服务(尤其是 GPS)在首次修复时倾向于“跳来跳去”。最好的办法是监听一定的时间或一定数量的更新,或者直到达到一定的准确度(位置监听器将返回所返回位置的准确度)。
关于Android:getLastKnownLocation 已过时 - 如何强制刷新位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2056163/