我正在尝试设置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,强制服务被安排,然后打开Wi-Fi,它不会开始上传。
我做错了什么吗?还是JobScheduler不适用于此目的,我应该使用网络可用性广播接收器?
谢谢。