Я использую приведенный ниже код, чтобы запланировать выполнение задания при наличии Интернета, но оно запускается только один раз, я бы хотел, чтобы оно запускалось всякий раз, когда есть доступная сеть. Это возможно?
Я попытался сделать задание периодическим и добавить сетевое ограничение, думая, что оно будет спать и просыпаться всякий раз, когда проходит период, и проверять доступную сеть, если есть доступная сеть, тогда оно будет выполнять задание, иначе оно вернется в спящий режим. но я не получил желаемого поведения, так как задание выполняется все время, когда истекает период (как будто нет ограничения сети)
Это код расписания
mJobScheduler = (JobScheduler)
getSystemService( Context.JOB_SCHEDULER_SERVICE );
JobInfo.Builder builder = new JobInfo.Builder( 1,
new ComponentName( getPackageName(),
JobSchedulerService.class.getName() ) );
// builder.setPeriodic( 3000 );
builder.setPersisted(true);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
mJobScheduler.schedule( builder.build() );