开发一个在后台更新用户位置的 Android 应用程序。现在,为此 Google 提供了两种方式:
通过 getlaSTLocation() 函数获取用户最后的位置。可以设置警报管理器,并借助广播接收器和服务,可以不断更新位置。 For example:
从融合位置提供程序请求定期更新,如图所示 here
哪种方式是在后台连续获取位置更新的最佳方式,除非用户这样做,否则 Android 不会终止后台服务?
最佳答案
第二种方法“请求定期位置更新”是有效。它允许您更具体地定制更新频率以及在什么情况下您将获得更新。您是在告诉 Android 您想要经常更新和/或如果用户移动了超过 X 米。
第一个使用 getLastLocation()
的方法是被动的。这意味着您无法控制更新的频率或质量。您基本上是在搭载其他应用程序的位置更新请求。如果有其他应用程序要求频繁更新,则调用 getLastLocation()
将为您提供相对较新/准确的位置。但是,如果其他应用程序不请求频繁更新(或者用户可能根本没有运行任何其他应用程序),则调用 getLastLocation()
可能会返回非常陈旧(不准确/旧)的数据.
关于android - 最佳实践 : Getting location updates in background,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30992247/