如何设置另一个运行JobService的时间段?

时间:2018-02-12 20:24:22

标签: android performance android-service android-service-binding

我开始新的JobService:

 JobScheduler jobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
    if (jobScheduler != null) {
        jobScheduler.schedule(
                new JobInfo.Builder(JOB_ID_LOAD_IMAGE,
                        new ComponentName(getApplicationContext(), ImageLoadJobService.class))
                        .setOverrideDeadline(0L)
                        .setPeriodic(900000)
                        .setPersisted(true)
                        .build()
        );
    }

并且用户可以更改更新数据的时间段。如何更改JobService的周期?我应该阻止而不是重复吗?

提前感谢大家的解答!

1 个答案:

答案 0 :(得分:0)

您应该拨打jobScheduler.cancel(JOB_ID_LOAD_IMAGE);,然后通过上面的代码将更新后的期间重新发布为新工作。

不幸的是,API不提供对JobInfo对象的更新,因此取消然后重新创建是为您的工作发布新期间的唯一方法。

祝你好运,快乐的编码!