我一直在使用GoogleApiClient
基于间隔和位移的更新来处理和测试后台位置更新。经过几天的测试和分析,我发现了一些我没想到的输出变化。
在使用
setInterval
和setFastestInterval
基于间隔的更新时,假设我将间隔设置为15 分钟,最快间隔设置为10 分钟,90% 的时间我在预期的间隔(10 到 15 分钟)内获得更新。但有时我注意到更新所需的时间比指定的间隔要长得多,例如,差异大约是 30 分钟和 60 分钟。关于为什么会有所不同的任何想法?在使用
setMinimumDisplacement
基于距离的更新时,假设我将Displacement设置为200 米,我只在200 米及以上的静止点上获得更新(在旅行时,即使超过 200 米也不会提供更新)。这是它正常工作的方式吗?
我正在使用PendingIntent
位置请求类型,以便BroadcastReceiver
在后台接收位置更新以获取位置更新。
fusedLocationProviderClient.requestLocationUpdates(locationRequest, pendingIntent);
测试时,定位服务开启,定位模式为HIGH_ACCURACY 。