是否可以在Android 10及更高版本上从路径(外部存储)将图像设置为ImageView



我需要在ImageView上显示用户手机内存(外部存储(中某个位置的图片。我使用图像绝对路径来实现这一点,它在任何Android手机上都运行良好。但在Android 10及以上版本上,这种策略根本不起作用(加载的图像是透明的(。我知道从Android 10开始,谷歌对外部存储器的可访问性做了很多改变,但仍然有办法从外部路径显示图像吗?

我使用位图解码和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)
}

是的,这是可能的。首先将此行添加到应用程序清单

android:requestLegacyExternalStorage="true"

在你的等级文件中设置这个选项(如果不是(

compileSdkVersion 29

在获得使用内存访问权限后,您可以上传图片

相关内容

  • 没有找到相关文章

最新更新