2016-01-28 1 views
2

Я хочу открыть картину в галерее. Путь галереи - это 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

У вас есть разрешение на чтение для внешнего хранилища? http://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE –

ответ

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/*"); 

должен делать эту работу.

1

Вам нужно добавить файл: // на пути, как это: intent.setDataAndType (("файл: //" Uri.parse + корень + "/ saved_images /" + имя_файла), " образ/*");