0
我使用下面的代碼來安排一個工作,當有互聯網運行但它只運行一次,我希望它運行時,只要有一個可用的網絡。這可能嗎?當有可用的網絡時,Job Scheduler運行作業?
我試着定期工作,並添加一個網絡約束,認爲每過一段時間它就會睡覺並喚醒,並檢查可用網絡,如果有可用網絡,那麼它將執行該作業,否則它會去返回到睡眠模式,但由於作業運行時的期限已到(因爲如果沒有網絡限制)
這是調度代碼的所有的時間,我沒有得到想要的行爲
mJobScheduler = (JobScheduler)
getSystemService(Context.JOB_SCHEDULER_SERVICE);
JobInfo.Builder builder = new JobInfo.Builder(1,
new ComponentName(getPackageName(),
JobSchedulerService.class.getName()));
// builder.setPeriodic(3000);
builder.setPersisted(true);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
mJobScheduler.schedule(builder.build());