Как открыть изображение в папке с возможностью рисования с помощью приложений для просмотра изображений Android?

Я хочу открыть изображение в моей папке с возможностью загрузки через приложения по умолчанию для моего телефона (Галерея и т. Д.).

Место моего изображения: drawable / image.png

Код:

Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse(""), "image/*"); startActivity(intent); 

Что мне нужно написать в функции Uri.parse для просмотра файла изображения?

Для этого вам нужно скопировать изображение в папке с возможностью переноса на SD-карту, а затем указать путь к файлу на SD-карте.

Вот код:

 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.imagename); ByteArrayOutputStream bytes = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 40, bytes); File f = new File(Environment.getExternalStorageDirectory() + File.separator + "test.jpg"); try { f.createNewFile(); FileOutputStream fo = new FileOutputStream(f); fo.write(bytes.toByteArray()); fo.close(); } catch (IOException e) { e.printStackTrace(); } Uri path = Uri.fromFile(f); Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(path, "image/*"); startActivity(intent); 

Обратите внимание, что imagename – это имя изображения в вашей папке с рисунком

И не забудьте добавить разрешение на доступ к SD-карте в файле манифеста

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

Я не думаю, что вы можете это сделать. Этот чертеж является приватным для вашего приложения, и другие приложения не могут его использовать. Вы должны создать свой собственный ImageViewer или скопировать эти чертежи на SD-карту и установить Uri при запуске Intent .

Вы можете получить доступ к своему изображению с помощью этого кода:

 R.drawable.image 

Например, вы можете использовать этот код в своем методе onCreate:

 ImageView img = new ImageView(this); img.setImageDrawable(R.drawable.image);