【发布时间】:2019-06-19 07:43:42
【问题描述】:
在 Android 应用上工作,我使用 FirebaseJobDispatcher 每 1 分钟运行一次作业。
问题
只要我运行应用程序,作业就会执行,然后每 1 分钟执行一次。
问题
为什么在安排作业时会立即调用onStartJob?为什么在执行前不等待 1 分钟?我做错了什么?
代码
public static void scheduleReminders(Context context) {
Driver driver = new GooglePlayDriver(context);
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(driver);
Job job = dispatcher.newJobBuilder()
.setService(ReminderJobService.class)
.setTag(JOB_TAG)
.setConstraints(Constraint.ON_ANY_NETWORK)
.setLifetime(Lifetime.FOREVER)
.setRecurring(true)
.setReplaceCurrent(true)
.setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL)
.setTrigger(Trigger.executionWindow(60, 65))
.build();
dispatcher.mustSchedule(job);
}
scheduleReminders 函数从主活动的onCreate 方法调用。
【问题讨论】:
-
AFAICT,
executionWindow()只是一个提示。根据驱动程序,正在使用的底层引擎可能不支持所有可能的值。
标签: android android-jobscheduler firebase-job-dispatcher