Jos*_*hua 12 android google-api-client fusedlocationproviderclient
我一直在使用GoogleApiClientInterval和Displacement 更新来处理和测试背景位置更新.在测试和分析几天后,我发现输出中的一些变化,我没想到.
在使用setInterval和setFastestInterval基于Interval的更新时,比如说我将Interval设置为15分钟,将Fastest Interval设置为10分钟,90%的时间我在预期的间隔(10到15分钟)内获得更新.但有时我注意到更新所需的时间比指定的Interval长得多,例如,差异大约是30分钟和60分钟.关于为什么差异的任何想法?
在使用setMinimumDisplacement基于距离的更新时,比如说我已将Displacement设置为200米,我只能在200米及以上的静止点上进行更新(当旅行时,即使超过200米也没有更新).这是正常的吗?
我正在使用PendingIntent位置请求类型,以便BroadcastReceiver在后台接收位置更新的位置更新.
fusedLocationProviderClient.requestLocationUpdates(locationRequest, pendingIntent);
Run Code Online (Sandbox Code Playgroud)
测试时,位置服务已开启,位置模式为HIGH_ACCURACY.
请参阅文档以获取 LocationRequest API 的正确行为。
从这个文档:
LocationClient。事实上,系统可能运行多个位置源(提供者),并且可能将多个源的结果融合到单个位置对象中ACCESS_COARSE_LOCATION来自带有和不带有的应用程序的位置请求ACCESS_FINE_LOCATION将自动限制为较慢的间隔,并且位置对象将被混淆以仅显示粗略的准确度。有关更多详细说明,请阅读上面链接中的完整文档。
希望这个解释可以帮助你。