Мне нужно открыть намерение для просмотра изображения следующим образом:
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("@drawable/sample_1.jpg");
intent.setData(uri);
startActivity(intent);
Проблема в том, что Uri uri = Uri.parse("@drawable/sample_1.jpg");
это неверно.
Вот чистое решение, которое полностью использует
android.net.Uri
класс через егоBuilder
шаблон, избегая повторяющейся композиции и декомпозиции строки URI, не полагаясь на жестко запрограммированные строки или специальные идеи о синтаксисе URI.источник
источник
Для тех, у кого есть ошибка, вы можете ввести неправильное имя пакета. Просто воспользуйтесь этим методом.
куда
источник
Вам нужен URI ресурса изображения, и
R.drawable.goomb
это ресурс изображения. Функция Builder создает запрашиваемый URI:источник
Основываясь на ответах выше, я хочу поделиться примером kotlin о том, как получить действительный Uri для любого ресурса в вашем проекте. Я думаю, что это лучшее решение, потому что вам не нужно вводить какие-либо строки в коде и рискуете напечатать его неправильно.
источник