尝试在空对象引用上调用虚方法'boolean androidx.work.State.isFinished()'

问题描述 投票:0回答:1

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

我只需多次选择图像即可实现beginUniqueWork和测试应用程序。

我在ViewModel类中应用Blur()编写的代码是:

  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();
}
android-architecture-lifecycle android-jetpack android-workmanager
1个回答
2
投票

这是https://issuetracker.google.com/79550068。它现在已修复,修复程序是在WorkManager的alpha02中的available,现在已经出来了。

© www.soinside.com 2019 - 2024. All rights reserved.