Android:getLastKnownLocation已过期 - 如何强制位置刷新?

时间:2010-01-13 11:18:04

标签: android geolocation gps

我正在使用

myLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

在我的应用程序启动时检索当前位置。

正如Android文档所述,此位置可能是“过时的”,因为该方法会在上次使用GPS时返回该位置。

我如何主动从GPS请求当前位置?我考虑使用LocationListener,但这可能有点过分,因为我只需要一次位置(在我的应用程序开始时)。

有什么想法吗?

1 个答案:

答案 0 :(得分:10)

您最初的直觉是正确的 - 您需要使用LocationListener来请求更新。鉴于您只需要一个位置,您可以在第一个值返回后取消注册LocationListener。

在实践中,听一点时间可能是明智之举。基于位置的服务(特别是GPS)在首次获得修复时有一种“跳跃”的倾向。您最好的选择是倾听一定的时间或一定数量的更新,或者直到达到一定的准确度(位置监听器将返回返回位置的准确性)。