Мне нужно показать изображение в ImageView из картинки, находящейся где-то в памяти телефона пользователя (Внешнее хранилище). Для этого я использовал абсолютный путь к изображению, и он хорошо работал на любом телефоне Android. Но на Android 10 и выше эта стратегия просто не работает (загруженное изображение прозрачно). Я знаю, что с Android 10 Google внесла множество изменений в доступность внешней памяти, но все же, есть ли способ показать изображение с внешнего пути?
Я использовал как растровое декодирование, так и Glide, чтобы установить изображение из пути, но ничего не работает на Android 10+: (
fun setImageFromPath(imagePath: String, imageView: ImageView){
val imgFile = File(imagePath)
if (imgFile.exists()) {
val bitmap = BitmapFactory.decodeFile(imgFile.absolutePath)
imageView.setImageBitmap(bitmap)
}
}
fun setImageFromPathWithGlide(imagePath: String, imageView: ImageView, context: Context){
Glide.with(context).asDrawable().load(Uri.fromFile(File(imagePath)))
.dontTransform()
.into(imageView)
}