我正在开发一个android应用程序,其中我需要的用户位置更新相当频繁。比如说一分钟2次。
早些时候,我一直在使用Google Play service的“融合位置服务”,但没有收到请求的位置更新。
此外,GPS不会立即激活,这需要一些时间。我正在尝试构建我的自定义融合位置提供程序。如何才能有效地在不同提供商之间切换,而不会在位置更新时出现延迟。
我想知道定期获取位置更新的最佳实践是什么,无论是NW,GPS还是两者都有。例如,它应该适用于位置更新无法承受的应用程序。
电池电量耗尽现在对我来说不是问题,我知道谷歌提供的所有关于位置访问的支持文档。
任何帮助都将不胜感激。
谢谢!
发布于 2014-03-13 07:09:35
FusedLocationProvider确实是目前获取位置的最佳选择,因为它使用的不仅仅是GPS或网络数据来获取位置定位。我也遇到过关于间隔丢失的问题,但最终这取决于GPS、网络等的可用性。
到目前为止,我最喜欢的FusedLocationProvider用法是与AlarmManager类结合使用:基本上,其思想是以警报管理器指定的时间间隔开始位置跟踪(可以设置为每30秒一次,如您的情况)。一旦达到间隔,位置提供程序将尽快获取位置定位(因此,在setInterval方法或其他方法中,参数是0)。这样,您就不必再为新位置等待30秒,而是让位置跟踪器在达到Alarm Manager指定的时间间隔后尽快尝试提供位置。
顺便说一句,在制作定制位置跟踪包装器时,要小心使用.getLastKnownLocation()方法,因为它只使用缓存的位置--您最终可能会每隔30秒向用户发送相同的位置。
祝好运!
https://stackoverflow.com/questions/22365168
复制相似问题