我正在开发一个android应用程序,其中我需要更频繁地进行用户位置更新。一分钟说两次。Android位置更新卡住
此前我一直在使用Google Play服务的“融合位置服务”,但位置更新未按要求收到。 位置更新卡住了一段时间,更新间隔跳到了10分钟左右。有时,即使我把优先级设置为“PRIORITY_HIGH_ACCURACY”,也是如此。
然后我回到了旧的“位置管理器”,当我使用“NETWORK_PROVIDER”时,我注意到由于这个提供者,位置更新卡住了。此外,GPS不会立即启动,需要一些时间。我正在尝试构建自定义融合位置提供程序。如何在提供商之间高效切换,而不会在位置更新上滞后。
我想知道什么是定期获取位置更新的最佳实践,无论是NW,GPS还是两者。就像它应该适用于无法提供位置更新卡住的应用程序。
电池耗尽对我来说现在不是问题。我知道Google提供的关于位置访问的所有支持文档。
任何帮助将不胜感激。
谢谢!
FusedLocationProvider除NW/GPS外还使用了什么?你可以点亮它吗?据我所知,它使用GPS,NW和一个'被动提供者'来监听由其他应用程序触发的位置更新。是的,我正在使用基于报警管理器的方法,如您所提及的 – geekoraul
它还使用了celltower数据以及内部传感器来帮助提供更准确的位置。 我想*技术上*通过旧的LocationManager类的NETWORK_PROVIDER选项也应该使用celltower数据 - 但实际上,由于读取精度较低,更新不会像定期发生一样,并且缺乏Wi-Fi/3G真的让它失望。 – SJunejo
根据LocationManager类的NETWORK_PROVIDER的文档“此提供程序根据可用的小区塔和WiFi接入点确定位置,结果通过网络查找获取”。它使用所有的N/W来源。在FusedLocationProvider中,如果您有wifi,并且您离开了无线网络NW,则位置更新会卡住。而如果您仅使用LocationManager和NW提供商进行更新,它不会卡住 – geekoraul