JobScheduler setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY) not working

眉间皱痕 提交于 2019-12-13 07:17:08

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!