Я пытаюсь разместить местоположение устройства android на сервере каждые 10 минут. Я использую диспетчер работы 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
получает местоположение и отправляет сервер.
Моя проблема: вещи в основном работают нормально. Дело только в том, что задания планируются с разницей в 4 м, 6 м, 7 м, 8 м, 10 м, 16 м, 23 м...
Может кто-нибудь, пожалуйста, помогите мне понять, что происходит.
Обновление: я хочу, чтобы местоположение было раз в 10-20 минут. В приведенном выше коде значение слишком мало для целей тестирования