【问题标题】:Android LocationManager.getLastKnownLocation()Android LocationManager.getLastKnownLocation()
【发布时间】:2013-02-25 00:21:01
【问题描述】:

来自 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);

【问题讨论】:

    标签: android


    【解决方案1】:

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

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

    我可以这样做吗?

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-17
        • 1970-01-01
        • 1970-01-01
        • 2012-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多