问题
The following code never runs. The job is scheduled successfully however it is never actually executed. I've even set an overriding deadline of 1m10s. The device is connected to WiFi at all times and even after 5 hours of wait, I never see it launched. What am I doing wrong?
int REFRESH_JOB_ID = 13;
jobScheduler.cancel(REFRESH_JOB_ID);
// Requires WiFi / Edge / 3G
JobInfo jobInfo = new JobInfo.Builder(REFRESH_JOB_ID, componentName).
setMinimumLatency(1 * 60 * 1000).
setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY).
setRequiresCharging(false).
setRequiresDeviceIdle(false).
setPersisted(true).
setOverrideDeadline((1 * 60 * 1000) + (10*1000)).
build();
int errorCode = 0;
if ((errorCode = jobScheduler.schedule(jobInfo)) > 0) {
Log.i("Auto Scheduler", "... job has been scheduled: " + errorCode);
} else {
Log.e("Auto Scheduler", "... job FAILED to schedule: " + errorCode);
}
回答1:
Try after setting setMinimumLatency(15*60*1000)
As 15 minutes is the minimum (Perhaps.)
来源:https://stackoverflow.com/questions/38410309/jobscheduler-setrequirednetworktypejobinfo-network-type-any-not-working