【发布时间】:2018-11-21 15:03:20
【问题描述】:
当我们创建一个 Job 时,我们可以设置很多 preperties,而 setPeriodic(interval) 对我来说有点混乱。文档说 setPeriodic 用于“指定此作业应以提供的间隔重复每个周期不超过一次”。
- 所以,我想,如果我将它设置为 15 分钟,它不会每 15 分钟执行一次作业(前提是我没有为该作业指定任何其他条件)——它只是确保作业执行不超过在我为 Job 设置的时间间隔内一次,可能需要一个小时才能重新开始?
- JobService 有一个方法 jobFinished(),它接受一个布尔值 needsReschedule,如果我将它设置为 false,如果我为其设置 setPeriodic(1000 * 60 * 15),那么 Job 将来还会重复吗?
我问这个是因为我已经在工作中测试过它:
JobInfo.Builder jobInfoBuilder = new JobInfo.Builder(JOB_ID, mServiceComponent)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setPeriodic(1000 * 60 * 15);
mJobScheduler.schedule(jobInfoBuilder.build());
并且该作业在 30 分钟内没有再次执行(之后我不再等待它)。
【问题讨论】:
标签: android