Android:持续位置更新

Posted

技术标签:

【中文标题】Android:持续位置更新【英文标题】:Android:Continuous Location update 【发布时间】:2016-07-19 12:31:31 【问题描述】:

我正在开发一个需要跟踪用户位置的应用程序。因此,我尝试了 Fused Location Api (GoogleApiClient)LocationListener,它定期为我提供位置。

但我的问题是当我的设备处于稳定状态时,它仍然在 onLocationChanged(Location location) 上给了我不同的位置

谁能指导我如何解决上述问题!

源代码:

http://pastebin.com/Pu7cNF8h

【问题讨论】:

在位置请求中添加 mLocationRequest.setSmallestDisplacement(100); 100 代表米 - Refer。如果您处于稳定状态,Location Provider 不会给出任何值。它会为每 100 米给出 LatitudeLongitude。跨度> @Yugesh:感谢您的及时回复..我会尝试您的建议并让您知道.. 您可能会因为手机处于 GPS 性能下降的区域(办公楼、商场等)而获得漂移位置,这可能会迫使 Fused Location Api 恢复到网络位置(即很不准确)。我建议您每隔一段时间添加活动识别,如果它们仍然存在一段时间,请在其区域周围设置地理围栏,然后关闭 Fused Location Api。从长远来看,这可能会节省电力。 【参考方案1】:

你必须增加最小位移,这样它就不会因为一点移动而改变位置。

mLocationRequest.setSmallestDisplacement(100);

以米为单位测量的位移。因此,您需要从初始位置更新的位置移动至少 100 米才能进行新的位置更新。

【讨论】:

以上是关于Android:持续位置更新的主要内容,如果未能解决你的问题,请参考以下文章

屏幕锁定时,Android 无法接收位置更新

如何在Android地图中获得连续的位置更新?

屏幕关闭时,前台服务未在 Android 7.0+ 中接收位置更新

Android 11:如何获取当前位置

Android开发中小问题汇总目录(持续更新)

Android开发中小问题汇总目录(持续更新)