【发布时间】:2017-09-10 17:21:43
【问题描述】:
我已将作业配置如下:
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(this));
Job myJob = dispatcher.newJobBuilder()
.setService(InfoJobService.class)
.setRecurring(true)
.setTrigger(Trigger.executionWindow(0, 10))
.setLifetime(Lifetime.FOREVER)
.setTag("data")
.setReplaceCurrent(true)
.setConstraints(Constraint.ON_ANY_NETWORK)
.build();
dispatcher.mustSchedule(myJob);
在 JobService 类中,我修改了 onstart 和 onstop 方法,如下所示:
@Override
public boolean onStartJob(JobParameters job) {
new Thread(new Runnable() {
@Override
public void run() {
uploadDatToFirebase();
}
}).start();
return true;
}
@Override
public boolean onStopJob(JobParameters job) {
return true;
}
但工作调度员只工作一次,不会重复出现。我的问题类似于this question 但是那里没有给出解决方案,所以我不得不再次询问。
【问题讨论】:
-
有解决办法吗?
-
@tejshah 我添加了对我有用的解决方案作为下面的答案。
标签: android firebase-job-dispatcher