2015-04-12 3 views
1

Как пересмотреть JobScheduler, который я начал с setPeriodic(), я хочу изменить время планировщика позже с использованием пользовательского ввода.Как пересмотреть JobScheduler?

JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, new ComponentName(this, MyJobScheduler.class)); builder.setPeriodic(15000).setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY).setPersisted(true); jobScheduler.schedule(builder.build());

ответ

1

В настоящее время нет возможности перенести работу. Что вы можете сделать, это вызвать метод cancel(), чтобы отменить задание с заданным идентификатором задания и запланировать новое задание. Таким образом, это выглядело бы так:

jobScheduler.cancel(JOB_ID); 
// Construct a new JobInfo.Builder 
jobScheduler.schedule(builder.build()); 
+0

Итак, могу ли я начать другой JobScheduler из текущего JobScheduler и отменить предыдущий? –

+0

Да, вы можете. Или вы можете использовать новый. Не имеет значения, как создаваемый экземпляр JobScheduler действительно подключается к системному сервису JOB_SCHEDULER_SERVICE. Все экземпляры будут подключаться к этому. Следовательно, пока вы укажете идентификатор (существующего задания), он будет идентифицировать тот, который вы хотите отменить правильно. – ucsunil

+0

. Как проверить работу счётчиком с конкретным идентификатором в настоящий момент выполняется или нет? –

1

Если вы хотите изменить параметр позже, вы можете сделать то же, что написано вами. Однако вы должны использовать точно такой же идентификатор работы. Система обновит задание.

Смежные вопросы