如何在图库中打开图片

Posted

技术标签:

【中文标题】如何在图库中打开图片【英文标题】:How to open a picture in gallery 【发布时间】:2016-05-05 23:22:07 【问题描述】:

我想在画廊中打开一张图片。图库路径为 root + "/saved_images",其名称为 fname。它打开画廊,我可以选择那张照片,但我想直接打开那张照片。

String root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString();
String fname = "Image-" + formattedDate + ".jpg";

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(root + "/saved_images"+fname), "image/*");
startActivity(intent);

【问题讨论】:

您有读取外部存储的权限吗? developer.android.com/reference/android/… 【参考方案1】:

您需要将 file:// 添加到路径中,如下所示: intent.setDataAndType(Uri.parse("file://" + root + "/saved_images/"+fname), "image/*");

【讨论】:

【参考方案2】:

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString()"/storage/emulated/0/Pictures" 的形式返回给你一些东西。

为了有一个有效的Uri,它只是在你的文件路径前面错过了"file://"

此外,如果"saved_images" 是一个目录,则在目录名和文件名之间缺少/

一起

intent.setDataAndType(Uri.parse("file://" + root + "/saved_images/" + fname), "image/*");

应该做的工作。

【讨论】:

以上是关于如何在图库中打开图片的主要内容,如果未能解决你的问题,请参考以下文章

如何从图库中隐藏照片并将其存储在我的应用程序中

在文件夹中可以找到图片,为啥在图库中显示不出来? 我的手机是华为荣耀2

如何在swift中使用alamofire上传图库图片

如何检查图片是不是存在于图库中?

如何通过相机或图库动态添加图像?

如何停止在图库小部件中滚动?