出现Wi-Fi网络时,Android JobScheduler不会启动作业

出现Wi-Fi网络时,Android JobScheduler不会启动作业,android,android-jobscheduler,Android,Android Jobscheduler,我正在尝试设置JobScheduler,以便通过wi-fi将一些图像上载到服务器。 这是我设置它的原因: PersistableBundle params = new PersistableBundle(); params.putString(UploadJobService.EXTRA_MEDIA, GsonFactory.getGson().toJson(mMedia)); params.putString(UploadJobService.EXTRA_TEMP_ID

我正在尝试设置
JobScheduler
,以便通过wi-fi将一些图像上载到服务器。 这是我设置它的原因:

    PersistableBundle params = new PersistableBundle();
    params.putString(UploadJobService.EXTRA_MEDIA, GsonFactory.getGson().toJson(mMedia));
    params.putString(UploadJobService.EXTRA_TEMP_ID, tempId);
    params.putInt(UploadJobService.EXTRA_IS_PUBLIC, mIsAlbumPublic.value());

    JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, new ComponentName(this, UploadJobService.class));
    builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED);
    builder.setPersisted(true);
    builder.setExtras(params);
    builder.setOverrideDeadline(DateUtils.HOUR_IN_MILLIS);
    JobScheduler.getInstance(this).schedule(builder.build());
如果wi-fi网络可用,它可以很好地上传我的内容。但若我把它关掉,强制安排服务,然后打开wi-fi,它就不会开始上传

我做错什么了吗?或者
JobScheduler
不用于此目的,我应该使用广播接收器以获得网络可用性?
谢谢。

也许你在这期间找到了一个解决方案,但也许这个答案对任何人都有帮助

我和你一样也有同样的问题,我认为为了重新安排一份工作,你必须具体说明

builder.setBackoffCriteria(long initialBackoffMillis, int backoffPolicy)
当我使用它时,由于网络关闭而未运行的作业将在网络再次打开后的初始BackOffMillis时间段后重新运行。 我对此并不完全满意,因为我希望在再次打开网络后立即运行作业,此外,第一次尝试运行作业时,也会使用initialBackoffMillis延迟。 但至少这是一个开始