0

我正在尝试使用 codeLab 文档学习 WorkManager for Android。当我尝试测试 beginUniqueWork( Ensure Unique Work )的功能时,我的应用程序崩溃了

我只是通过多次选择图像来实现 beginUniqueWork 和测试应用程序。

我在 ViewModel 类的 aplyBlur() 中编写的代码是:

  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();
}
4

1 回答 1

2

这是https://issuetracker.google.com/79550068。现已修复,WorkManager 的 alpha02 中提供了该修复,现已发布。

于 2018-05-24T16:57:23.413 回答