作业没有在给定时间触发...它延迟...延迟...延迟时间增加。我的要求是在 Android 7.0 及更高版本中使用 Job Scheduler 每 10 分钟执行一次作业。 这是我的代码 fragment
private static long Scheduler_Interval = 5 * DateUtils.MINUTE_IN_MILLIS;
JobScheduler mJobScheduler mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
JobInfo.Builder builder = new JobInfo.Builder(1, new ComponentName(getPackageName(), JobSchedulerService.class.getName()));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
builder.setPeriodic(Scheduler_Interval, 1 * DateUtils.MINUTE_IN_MILLIS);
}
builder.setRequiresDeviceIdle(false);
if (mJobScheduler.schedule(builder.build()) <= 0) {
ShowToast("Some error while scheduling the job");
}
public class JobSchedulerService extends JobService {
@Override
public boolean onStartJob(JobParameters jobParameters) {
writeToTestLogFile(GetSavedDateFromLocationProvider()+ "|onStartJob");
return false;
}
@Override
public boolean onStopJob(JobParameters jobParameters) {
writeToTestLogFile(GetSavedDateFromLocationProvider()+ "|onStopJob");
return false;
}
}
最佳答案
在 Android N(牛轧糖)中,最小周期间隔为 15 分钟。将间隔设置为 15 分钟,然后代码将起作用。
同时设置
jobFinished(parameters, false);
关于android - Job Scheduler 在 Android 7.0 (Nougat) 中不定期重复出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45736914/