以下是我声明的从支持 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");
}
}
注意:因为我不想为此创建一个单独的变量。我想知道这可能吗?
在此先感谢您的帮助 :)