LiveData<WorkStatus> status = WorkManager.getInstance().getStatusByIdLiveData(runWorkA.getId()); status.observe(this, new Observer<WorkStatus>() { @Override
.beginUniqueWork(IMAGE_MANIPULATION_WORK_NAME, ExistingWorkPolicy.REPLACE, OneTimeWorkRequest.from(CleanupWorker.class));
LiveData<WorkStatus> status = WorkManager.getInstance().getStatusByIdLiveData(runWorkA.getId()); status.observe(this, new Observer<WorkStatus>() { @Override LiveData<WorkStatus> statusb = WorkManager.getInstance().getStatusByIdLiveData(runWorkB.getId()); statusb.observe(this, new Observer<WorkStatus>() { @Override LiveData<WorkStatus> statusc = WorkManager.getInstance().getStatusByIdLiveData(runWorkC.getId()); statusc.observe(this, new Observer<WorkStatus>() { @Override
public void param() { // Create the Data object: final Data myData = new Data.Builder() // We need to pass three integers: X, Y, and Z .putInt(WorkerParameters.KEY_X_ARG, 42) // ... and build the actual Data object: .build(); // ...then create and enqueue a OneTimeWorkRequest that uses those arguments OneTimeWorkRequest mathWork = new OneTimeWorkRequest.Builder(WorkerParameters.class) .setInputData(myData) .build(); WorkManager.getInstance().enqueue(mathWork); //now set the observer to get the result. WorkManager.getInstance().getStatusByIdLiveData(mathWork.getId()) .observe(this, new Observer<WorkStatus>() { @Override public void onChanged(@Nullable WorkStatus status) { if (status != null && status.getState().isFinished()) { int myResult = status.getOutputData().getInt(WorkerParameters.KEY_RESULT, -1); tv_param.setText("Result is " + myResult); } } }); }
public void doTheDownload() { Constraints constraints=new Constraints.Builder() .setRequiredNetworkType(NetworkType.CONNECTED) .setRequiresBatteryNotLow(true) .build(); OneTimeWorkRequest downloadWork= new OneTimeWorkRequest.Builder(DownloadWorker.class) .setConstraints(constraints) .setInputData(new Data.Builder() .putString(DownloadWorker.KEY_URL, "https://commonsware.com/Android/Android-1_0-CC.pdf") .putString(DownloadWorker.KEY_FILENAME, "oldbook.pdf") .build()) .addTag("download") .build(); WorkManager.getInstance().enqueue(downloadWork); final LiveData<WorkInfo> liveOpStatus= WorkManager.getInstance().getWorkInfoByIdLiveData(downloadWork.getId()); liveWorkStatus.addSource(liveOpStatus, workStatus -> { liveWorkStatus.setValue(workStatus); if (workStatus.getState().isFinished()) { liveWorkStatus.removeSource(liveOpStatus); } }); } }
WorkManager.getInstance().getWorkInfoByIdLiveData(unZIPWork.getId());