2

で始めた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());
4

2 に答える 2

3

現在、ジョブを再スケジュールするオプションはありません。できることは、cancel() メソッドを呼び出して、指定されたジョブ ID のジョブをキャンセルし、新しいジョブをスケジュールすることです。したがって、次のようになります。

jobScheduler.cancel(JOB_ID);
// Construct a new JobInfo.Builder
jobScheduler.schedule(builder.build());
于 2015-04-12T05:54:50.023 に答える