什么时候网络提供商更新android中的位置

时间:2012-05-25 04:09:48

标签: android gps location

我使用network provider获取Android application中的位置信息。有时我发现即使在我到达一个新的地方后,这个位置也不会改变。与此同时,我发现Google地图中的位置已更改。所以我退出并重新启动了我的应用程序,并且位置也没有改变。但经过很长一段时间,或者我重新启动手机,我可以看到新的位置。

有人知道是什么原因吗?我使用getLastKnownLocation()来获取应用程序中的最新位置。

更新:

发生此问题时,我发现在未更改位置时更改了cellid和LAC。所以这很奇怪。我认为谷歌地图可能会使用cellid& LAC直接获取位置,因此可以获得正确的位置。

更新更新:

发生此问题时,我使用cellid和LAC通过来自Google服务器的HTTP POST请求获取位置。这个位置是正确的。

顺便说一句,我发现我的问题就像这个问题:Android network location takes hours to update location

1 个答案:

答案 0 :(得分:0)

我不相信getLastKnownLocation()。根据我的经验,这是不可靠的。

您最好使用LocationManager.requestLocationUpdates()请求位置回调。如果您只需要该位置,则可以在此之后使用LocationManager.removeUpdates()取消注册回调。如果您的应用程序需要在位置更改时得到通知,那么您可以使用合理的最小时间和/或最小距离参数(基于您的应用程序所需的任何内容)注册回调。