Я использую диспетчер заданий firebase для сетевых вызовов, скажем, каждые 30 секунд, мой класс обслуживания:
@Override
public boolean onStartJob(JobParameters job) {
getLocation();
return true;
}
и мой экземпляр работы:
Job job = dispatcher.newJobBuilder()
.setLifetime(Lifetime.FOREVER)
.setService(ScheduledJobService.class)
.setTag("UniqueTagForYourJob")
.setReplaceCurrent(false)
.setRecurring(true)
.setTrigger(Trigger.executionWindow(0,20))
.setRetryStrategy(RetryStrategy.DEFAULT_LINEAR)
.setConstraints(Constraint.ON_ANY_NETWORK)
.build();
но услуга вызывается только один раз