如何打开图库中的图片
How to open a picture in gallery
我想打开图库中的图片。图库路径为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);
您需要将 file:// 添加到路径中,如下所示:
intent.setDataAndType(Uri.parse("file://" + root + "/saved_images/"+fname), "image/*");
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString()
returns你的东西形式"/storage/emulated/0/Pictures"
。
要有一个有效的 Uri
,它只是在您的文件路径前面缺少 "file://"
。
此外,如果 "saved_images"
是目录,则目录名和文件名之间缺少 /
。
一起,
intent.setDataAndType(Uri.parse("file://" + root + "/saved_images/" + fname), "image/*");
应该完成这项工作。
我想打开图库中的图片。图库路径为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);
您需要将 file:// 添加到路径中,如下所示: intent.setDataAndType(Uri.parse("file://" + root + "/saved_images/"+fname), "image/*");
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString()
returns你的东西形式"/storage/emulated/0/Pictures"
。
要有一个有效的 Uri
,它只是在您的文件路径前面缺少 "file://"
。
此外,如果 "saved_images"
是目录,则目录名和文件名之间缺少 /
。
一起,
intent.setDataAndType(Uri.parse("file://" + root + "/saved_images/" + fname), "image/*");
应该完成这项工作。