繁体   English   中英

从画廊意图中获取所选图像的路径

[英]Getting the path of chosen image from gallery intent

这是我的相机意图函数。 我首先将路径存储在一个变量中,然后使用它来设置文件目标来获取路径。

private void openCameraIntent() {
    Intent pictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    file = new File(getExternalCacheDir(), "image_1.jpeg");
    fileUri = Uri.fromFile(file);
    pictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
    startActivityForResult(pictureIntent, REQUEST_CAPTURE_IMAGE);
}

但是,我不能对图库执行相同的操作,因为要选择的图像已经存在。

private void openGalleryIntent() {
    Intent gallery = new Intent(Intent.ACTION_PICK,
            MediaStore.Images.Media.INTERNAL_CONTENT_URI);
    startActivityForResult(gallery, REQUEST_CAPTURE_IMAGE);
}

有什么方法可以让我在这个特定函数中获得路径?

您可以改为使用推荐的 Activity Result API 从图库/存储中提取图像,该图像返回所选择图像的 URI。

private val pickImage = 
registerForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? ->
    yourMethod(uri)  
}
pickImage.launch("image/*")

有关更多信息,请参阅谷歌文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM