【发布时间】:2017-03-14 10:29:37
【问题描述】:
我正在尝试每 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 分钟内获得一次该位置。在上面的代码中,值太低只是为了测试目的
【问题讨论】:
-
如果作业失败,那么我想会有退避。我也相信不能保证在那个确切的时刻运行。将您的退避与可变的开始时间结合起来可以解释时间安排。您是否在
onStopJob()中返回了正确的布尔值? -
@kranthi117 你找到答案了吗?
-
@SharpEdge 还没有:(
-
2019年解决了吗?有什么解决办法吗?
标签: android firebase firebase-job-dispatcher