Допустим, я упаковываю изображение с моим приложением и хочу открыть его с помощью программы просмотра изображений по умолчанию / любой программы просмотра изображений, выбранной пользователем по умолчанию. Как бы я это сделал?
Это сообщение уже есть: Откройте изображение с помощью URI в программе просмотра изображений галереи Android по умолчанию , но многие ответы устарели, поскольку из-за появления android N должен использоваться поставщик контента.
Единственный ответ, который я могу найти, это:
File file = ...;
final Intent intent = new Intent(Intent.ACTION_VIEW)//
.setDataAndType(VERSION.SDK_INT >= VERSION_CODES.N ?
android.support.v4.content.FileProvider.getUriForFile(this,getPackageName() + ".provider", file) : Uri.fromFile(file),
"image/*").addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
но, по словам автора этого решения, этот код работает только для изображений, хранящихся снаружи, а не для тех, которые могут быть упакованы с моим приложением.