我已经阅读了一些关于此的问题,但我并没有找到我需要的答案。我想了解 getLastLocation 如何在内部工作。最后一个已知位置缓存值如何更新?
我们需要获取设备的最后一个已知位置。谁能解释 getLastLocation 是如何工作的?我已经看到即使位置设置为 ON,getLastLocation API 也会返回 null。同时,如果我检查了谷歌地图应用程序并且它能够获取位置(当然它必须使用 requestLocationUpdates 或任何其他 API)。
在我的 Nexus-5 上,我观察到 getLastLocation 即使在我启动 Google Map 应用程序然后再次启动我的应用程序之后也会返回 null。即使在 Google 地图应用程序中正确检测到位置,getLastLocation API 也会返回 null。
Android系统如何更新最后一个已知位置?它是否仅在某些应用程序通过 requestLocationUpdates API 请求位置时更新?如果 Android 系统自动更新最后一个已知位置,那么为什么 getLastLocation API 返回 null?
getLastLocation API 获取最后一个已知位置
需要注意的点:
授予位置权限。
位置设置已开启
相同的代码在少数设备上工作,但在少数设备上失败。
我正在尝试从 Google 的 FusedLocationProviderAPI 和 Android Framework LocationManager API 获取位置。
我已经检查了 Stackoverflow 上的所有现有问题
如果有人能解释在什么情况下 getLastLocation API 可以返回 null,即使位置设置为 ON,那就太好了。有谁知道这在内部是如何工作的?