Я настроил задание следующим образом:
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;
}
Но диспетчер заданий работал только один раз, он не повторяется. Мой вопрос похож на этот вопрос Но там не было дано никакого решения, поэтому мне пришлось спросить еще раз.