我试图每 10 分钟将 Android 设备的位置发布到服务器一次。我正在使用 firebase 作业调度程序来执行此操作
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(this));
Job myJob = dispatcher.newJobBuilder()
.setService(UpdateLocationService.class)
.setRecurring(true)
.setTrigger(Trigger.executionWindow(10, 20))
.setRetryStrategy(RetryStrategy.DEFAULT_LINEAR)
.setTag("location-update-job")
.setLifetime(Lifetime.FOREVER)
.build();
dispatcher.mustSchedule(myJob);
UpdateLocationService
获取位置并发送到服务器。
我的问题:一切都运行良好。唯一的问题是,工作的安排有 4m、6m、7m、8m、10m、16m、23m 的差异......
有人可以帮助我了解发生的事情吗?
更新:我想要 10-20 分钟一次的位置。在上面的代码中,仅出于测试目的,该值太低
还有:
Trigger.executionWindow(windowStart, windowEnd)
期望windowStart
and windowEnd
很快。根据您的要求,您希望窗口为 10 分钟。所以你应该使用类似的东西:
Trigger.executionWindow(10*60, 20*60)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)