我正在尝试显示我正在使用的下载文件夹中的图像。
Bitmap bmImg = BitmapFactory.decodeFile("file:/storage/sdcard0/download/13448FILE.jpg");
message_image.setImageBitmap(bmImg);
但是在这样做时我得到了异常我已经检查了这条路径图像位于那里。我已经在 list 中授予了 WRITE_EXTERNAL_STORAGE
和 READ_EXTERNAL_STORAGE
权限
记录猫
E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /file:/storage/sdcard0/13448FILE.jpg: open failed: ENOENT (No such file or directory)
最佳答案
首先,decodeFile()
不使用方案。您需要删除 file:
。
其次,不要在轻量级测试之外对路径进行硬编码。您的路径在许多 Android 设备上都是错误的。
第三,不要像您在这里所做的那样在主应用程序线程上解码图像。有很多image loading libraries for Android它可以在后台线程上安全地解码图像,并在准备就绪时将其加载到您的 ImageView
中。
关于android - 显示本地存储中的图像时出现 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34988531/