如何解决从图库中选择图像时,将 Intent setAction 添加到新的 Activity Result API ActivityResultLauncher
我正在使用新的 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 举报,一经查实,本站将立刻删除。