Я новичок в android разработке.
Я пытаюсь открыть приложение галереи по умолчанию для просмотра изображения, подобного этому:
Uri u = Uri.parse((String) gridView.getAdapter().getItem(position);
Intent i = new Intent();
i.setDataAndType(u, "image/*");
i.setAction(Intent.ACTION_VIEW);
i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(i);
Я указываю пути к файлам для моего изображения, подобные этому:
/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20191023-WA0045.jpg
/storage/emulated/0/Pictures/9GAG/1565987862000.jpg
Мое приложение и Google Photos могут отображать изображение, указанное по этому пути, в галерее Samsung (проверено на Android Oreo) или в приложении Xiaomi Gallery (проверено на Android X) не могу найти изображение; также, если я пытаюсь добавить «content: //» или «file: //» в начале. Я подозреваю, что приложения хотят иметь URI контента или какую-то символьную ссылку c без части "/ storage / emulated / 0 /" вместо URI файла. Я искал методы, чтобы получить URI содержимого из пути к файлу, но не нашел примеров для Android X.
Так что же является правильным URI для передачи через Intent и как мне это сделать?
Или, может быть, кто-то знает лучший способ просто открыть приложение галереи для определенного c изображения, которое я предоставляю по абсолютному пути к файлу (как для внешнего хранилища, так и для SD-карты)?
Заранее благодарю и приветствую!