问题描述
我正在使用新的 Activity Result API 来启动和从图库中选择图像,我遇到的问题是如何修改新 Activity Result API 中的 Intent 以像旧的 startActivityForResult 一样工作
Intent pickImageIntent = new Intent();
pickImageIntent.setType("image/*");
pickImageIntent.setAction(Intent.ACTION_PICK);
startActivityForResult(pickImageIntent,PICK_IMAGE_FROM_galLERY_REQUEST_CODE);
然后下面是我使用 onActivityResult 获取结果的旧方法
@Override
public void onActivityResult(int requestCode,int resultCode,@Nullable @org.jetbrains.annotations.Nullable Intent data) {
super.onActivityResult(requestCode,resultCode,data);
if (requestCode == PICK_IMAGE_FROM_galLERY_REQUEST_CODE) {
if (resultCode == RESULT_OK && data != null) {
Uri selectedImageUri = data.getData();
imvImage.setimageURI(selectedImageUri);
} else {
// Show Error Exception Dialog
// We encountered an error while picking your image from gallery
// Try Again,Cancel
}
}
}
下面是我使用新的 Activity Result API 启动相机的新方法
getimageFromgallery.launch("image/*");
并使用 ActivityResultLauncher 获得以下结果
ActivityResultLauncher<String> getimageFromgallery = registerForActivityResult(new ActivityResultContracts.GetContent(),new ActivityResultCallback<Uri>() {
@Override
public void onActivityResult(Uri uri) {
imvImage.setimageURI(uri);
}
});
我的问题是如何将某些内容解析为启动方法或将操作设置为意图示例
pickImageIntent.setAction(Intent.ACTION_PICK);
到这里
getimageFromgallery.launch("image/*");
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)