我试图每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
获取位置和发送到服务器。
我的问题:事情大多工作正常。唯一的问题是,这些工作正在按照4米,6米,7米,8米,10米,16米,23米的不同进行安排。
更新:我想在10-20分钟一次的位置。在上面的代码中,仅用于测试目的,该值太低
如果工作失败,那么我想有退避。此外,我相信在那个时刻运行并不能保证。将您的退避与可变的开始时间结合起来将解释时间。你在'onStopJob()'中返回了正确的布尔值吗? –
@ kranthi117你找到了答案吗? –
@SharpEdge还没有:( – kranthi117