我注意到我的计划任务调度程序执行任务的频率太高了。我已将其设置为每天执行,需要处于空闲状态、在 WLAN 上并充电,但是当满足这些条件时,该作业会执行得像是每 10 分钟或者更频繁。
我的代码:
我的代码:
I noticed my scheduled JobScheduler is executing the job way too often. I have it set to execute daily and it requires to be idle, to be on wlan and to be charging, but when those conditions are met the job executes like every 10min or even more frequently.
My code:
JobInfo.Builder builder = new JobInfo.Builder(1,
new ComponentName(context.getPackageName(), SyncJobService.class.getName()));
builder.setPeriodic(TimeUnit.DAYS.toMillis(1))
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setRequiresCharging(true)
.setRequiresDeviceIdle(true);
int code = jobScheduler.schedule(builder.build());
if (code <= 0) {
Log.e(TAG, "Could not scheduled job: " + code);
return;
}
Log.e(TAG, "Scheduled job");
该工作在后台线程中执行下载互联网数据的任务,当数据下载完成后我调用
mService.jobFinished(mParams, true);
通知作业调度程序作业已完成并应重新安排作业。即使将周期设置为一天,作业为什么执行得如此频繁?由于作业运行得如此之频繁,我的Android 6.0.1设备几乎从不进入沉睡模式。