首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getLastLocation API是如何在内部工作的?即使位置设置是打开的,它也返回null。

getLastLocation API是如何在内部工作的?即使位置设置是打开的,它也返回null。
EN

Stack Overflow用户
提问于 2017-04-18 05:08:48
回答 1查看 243关注 0票数 1

我读过一些关于这方面的问题,但我没有找到我需要的答案。我想了解getLastLocation是如何内部工作的。最后一个已知的缓存值是如何更新的?

我们有要求,我们需要得到的最后一个已知的设备位置。有人能解释getLastLocation是如何工作的吗?我已经看到,即使位置设置是打开的,getLastLocation API也返回null。同时,如果我检查Google应用程序,并且它能够获得位置(当然,它必须使用requestLocationUpdates或任何其他API)。

在我的Nexus-5上,我观察到getLastLocation在启动Google应用程序之后返回null,然后再启动我的应用程序。即使在Google应用程序中正确检测到位置,getLastLocation API也会返回null。

Android系统是如何更新最后一个已知位置的?它是否只在某些应用程序通过requestLocationUpdates API请求定位时才更新?如果Android自动更新最后一个已知位置,那么为什么getLastLocation API返回null?

getLastLocation API 得到最后已知的位置

需要注意的点:

  1. 位置许可被授予。
  2. 位置设置已打开
  3. 相同的代码在少数设备上工作,但在少数设备上失败。
  4. 我正试图从谷歌的FusedLocationProviderAPI和Android中获取位置。
  5. 我检查了所有关于Stackoverflow的现有问题。

如果有人能够解释在什么情况下,即使位置设置是打开的,getLastLocation API也可以返回null,那就太好了。有人知道这在内部是如何工作的吗?

EN

回答 1

Stack Overflow用户

发布于 2017-04-18 06:01:27

getLastLocation:此方法将为您提供设备上可用的最后一个位置。

在某些情况下,如果您的设备没有任何最后位置,那么它将返回null。

对于当前位置,应该使用onLocationChanged方法。

请参见这里的示例,您将得到它https://developer.android.com/training/location/receive-location-updates.html

根据医生

公共抽象位置getLastLocation (GoogleApiClient client)

返回当前可用的最新最佳位置。

如果一个位置不可用,而这种情况很少发生,则返回null。在尊重位置权限的情况下,将返回可用的最佳精度。 该方法为定位提供了一种简化的方法。它特别适合不需要精确位置且不想维护位置更新的额外逻辑的应用程序。

希望这些能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43463999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档