Отображать ImageView из URI мобильного местоположения?

У меня есть путь изображения, который я снимаю с камеры в этом месте.

file:///storage/emulated/0/Android/data/com.xxxx.xxxxx/files/Pictures/IMG_20190312_1547177544509253258561218.jpg

Я пытаюсь отобразить конкретное изображение в ImageView, мой код:

        File imgFile = new  File(mMediaUri.toString());
        if (imgFile.exists()){
            Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
            imageView2.setImageBitmap(myBitmap);
        } else {
            Log.d("IMAGE_PATH",mMediaUri.toString());

        }

Где mMediaUri = путь, который я упомянул выше. Но почему-то не проходит петля из imgFile.exists(). Не могли бы вы помочь мне в этом? Заранее спасибо.

0
0
60
2

Ответы 2

Uri нельзя использовать непосредственно в конструкторе файлов, Android против передачи путей к файлам между приложениями.

Просто используйте imageView2.setImageUri(mMediaUri); напрямую.

Предложение

Почему бы вам не использовать для этого библиотеку просмотра изображений, она будет управлять всем за вас, например, вы можете использовать glide, который будет управлять путем изображения всех типов - локальным, URL, URI и т. д. Он также будет управлять соотношением сторон изображения. слишком.

https://github.com/bumptech/glide

Другие вопросы по теме