我正在尝试设置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
不是为了这个目的,我应该使用广播接收器来保证网络可用性?谢谢。