因此,我已经与FusedLocationClient合作了大约2个月。向客户端传递一个位置请求,该请求至少在手机“清醒”时正确设置检索位置更新的时间间隔。如果将时间间隔设置为1分钟,则几乎每分钟都会得到一次更新,但是当手机被锁定然后返回到应用程序时,我可以看到更新仅每10分钟发生一次。有使用过Android FusedLocationClient的经验的人有什么线索可能会发生这种情况吗?客户端正在使用Looper.myLooper()循环,如果手机被锁定,此线程会减慢速度吗? mLocationRequest = new LocationRequest(); mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); mLocationRequest.setInterval(OneMin); mLocationRequest.setFastestInterval(OneMin); mLocationRequest.setMaxWaitTime(OneMin);更新为原始问题********因此,在从回调方法将“融合的位置客户端”切换为“待处理的意图方法”之后,我仍然得到相同的结果。这个待定的意图方法应该从应用程序后台而不是前台运行客户端,但是位置更新仍然会慢到10分钟。这是我的待定意图日志。06-28 07:55:39.201 D/ddd: onHandleIntent: 38.5377347, -106.940894106-28 07:56:41.128 D/ddd: onHandleIntent: 38.5377747, -106.940646506-28 07:57:43.055 D/ddd: onHandleIntent: 38.5372963, -106.940943906-28 07:59:33.098 D/ddd: onHandleIntent: 38.5378022, -106.940681406-28 08:10:22.646 D/ddd: onHandleIntent: 38.5378164, -106.941032106-28 08:20:35.668 D/ddd: onHandleIntent: 38.5378373, -106.940801606-28 08:30:35.790 D/ddd: onHandleIntent: 38.5377677, -106.9407083您可以从时间戳中看到该间隔从1分钟变为10分钟。关于如何防止这种情况的任何想法?Android文档正在深入研究建议使用Scheduled job的漏洞,但没有给出直接的示例。
1 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
如果您是在Android 8.0(API级别26)或更高版本上进行测试,则每小时只会检索几次更新。这是来自Android文档。
为了减少功耗,Android 8.0(API级别26)限制了后台应用检索用户当前位置的频率。应用程序每小时只能接收几次位置更新。
运行API 25级及更低版本的设备将正常接收后台更新。可以在Android版本概述中找到更多信息。
添加回答
举报
0/150
提交
取消