Я пытаюсь изучить WorkManager для Android, используя документацию codeLab.При попытке проверить работоспособность beginUniqueWork ( Ensure Unique Work * )
происходит сбой приложения. Я просто реализую beginUniqueWork и тестирую приложение с многократным выбором изображения.
Код, который я пишу в aplyBlur () в классе ViewModel:
void applyBlur(int blurLevel) {
WorkContinuation continuation = mWorkManager
.beginUniqueWork(IMAGE_MANIPULATION_WORK_NAME,
ExistingWorkPolicy.REPLACE,
OneTimeWorkRequest.from(CleanupWorker.class));
// Add WorkRequests to blur the image the number of times requested
for (int i = 0; i < blurLevel; i++) {
OneTimeWorkRequest.Builder blurBuilder =
new OneTimeWorkRequest.Builder(BlurWorker.class);
// Input the Uri if this is the first blur operation
// After the first blur operation the input will be the output of previous
// blur operations.
if ( i == 0 ) {
blurBuilder.setInputData(createInputDataForUri());
}
continuation = continuation.then(blurBuilder.build());
}
// Add WorkRequest to save the image to the filesystem
OneTimeWorkRequest save =
new OneTimeWorkRequest.Builder(SaveImageToFileWorker.class)
.build();
continuation = continuation.then(save);
continuation.enqueue();
}