Как перенести JobScheduler?

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

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());

2 ответа

Решение

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

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

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

Другие вопросы по тегам