我想在画廊中打开一张照片。图库路径为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);
答案 0 :(得分:1)
您需要将file://添加到路径中,如下所示: intent.setDataAndType(Uri.parse(" file://" + root +" / saved_images /" + fname)," image / *") ;
答案 1 :(得分:0)
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString()
会以"/storage/emulated/0/Pictures"
的形式返回您的内容。
要拥有有效的Uri
,它只会在文件路径前面错过"file://"
。
此外,如果"saved_images"
是目录,则您在目录名称和文件名之间缺少/
。
一起,
intent.setDataAndType(Uri.parse("file://" + root + "/saved_images/" + fname), "image/*");
应该做的。