0

以下是我声明的从支持 Android 11 版本的应用程序捕获图像的方法。我想自定义回调以获取输入 uri,而不仅仅是获取布尔状态。

截至目前,以下是工作正常的方法。

private final ActivityResultLauncher<Uri> takePicture =
                registerForActivityResult(new ActivityResultContracts.TakePicture(), this::onTakePictureResult);

private void android11Capture() {
    try {
        Context ctx = requireContext();
        String authorities = ctx.getPackageName() + AUTHORITY_SUFFIX;
         Uri imageUri = FileProvider.getUriForFile(ctx, authorities, createImageFile());
        takePicture.launch(imageUri);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

public void onTakePictureResult(boolean success) {
    showToast(success + "");
    if (success) {
        cropImage();
    } else {
        showToast("taking picture failed");
    }
}

我只想自定义onTakePictureResult的方法。这样我也可以在回调中获取传递的 imageUri)

public void onTakePictureResult(boolean success, Uri imageUri) {
    showToast(success + "");
    if (success) {
        cropImage(imageUri);
    } else {
        showToast("taking picture failed");
    }
}

注意:因为我不想为此创建一个单独的变量。我想知道这可能吗?

在此先感谢您的帮助 :)

4

0 回答 0