Я использую диспетчер заданий firebase и программирую простое периодическое задание, которое должно запускаться каждую минуту или около того, когда есть подключение к Интернету. Я знаю, что задания не выполняются точно по времени, потому что они хотели увеличить время автономной работы и позволить другим приложениям работать, но задержка слишком велика. он может достигать 25 минут, что слишком долго по сравнению с желаемой 1 минутой. Есть ли способ заставить периодические задания запускаться хотя бы каждые 3-5 минут?
Это то, как я программирую периодическую задачу:
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(MainActivity.this));
Job myJob = dispatcher.newJobBuilder()
// the JobService that will be called
.setService(MyJobService.class)
// uniquely identifies the job
.setTag("my-unique-tag")
.setRecurring(true)
.setLifetime(Lifetime.FOREVER)
// start between 0 and 10 seconds from now
.setTrigger(Trigger.executionWindow(0, 10))
.setReplaceCurrent(true)
.setRetryStrategy(RetryStrategy.DEFAULT_LINEAR)
// constraints that need to be satisfied for the job to run
.setConstraints(
// only run on an unmetered network
Constraint.ON_UNMETERED_NETWORK
)
.build();
dispatcher.mustSchedule(myJob);