1

来自 android 文档 LocationManager.getLastKnownLocation():

返回一个 Location 指示从给定提供程序获得的最后一个已知位置修复的数据。

Note that this location could be out-of-date, for example if the device was turned off and moved to another location.

提供商多久更新一次设备位置?它是如何工作的?

我问的原因是我不想使用locationListener,我只需要在按钮单击时获取当前地理位置,就是这样。我可以这样做吗?

    final LocationManager mlocManager = (LocationManager) getActivity()
            .getSystemService(Context.LOCATION_SERVICE);
    final Location currentGeoLocation = mlocManager
            .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
4

2 回答 2

1

如果您绝对等不及可以尝试的位置getLastKnownLocation(),但您需要准备好获得NULL结果。

getLastKnownLocation()只是您指定的提供者的最后一个位置的缓存。在某些情况下,根本不会有一个,例如手机刚刚重新启动时。即使有缓存位置,它也可能不准确。

于 2013-02-25T00:52:31.867 回答
1

提供商多久更新一次设备位置?它是如何工作的?

这取决于,你可能永远不会知道。如果设备接收良好,则有关用户位置的更新将迅速触发。

我可以这样做吗?

并不真地。如果发射得太快,那么您将无法获得任何位置。如果用户没有很好的接收,那么您可能需要 10 秒才能对用户的位置有一个合理的了解。我认为你必须稍微不同地处理这个问题。恐怕我必须推荐 locationListeners :P

于 2013-02-25T00:26:41.047 回答