我尝试了几种方法,但它总是返回“null”。
我想从相机文件夹中读取一个文件到一个位图对象中。
File camDir = new File(Environment.getExternalStorageDirectory().getAbsoluteFile() + "/DCIM/Camera");
File[] files = camDir.listFiles();
Bitmap img = BitmapFactory.decodeFile(files[1].getAbsolutePath());
img.getDensity();
我的错误在哪里?
最佳答案
如果您不知道什么是null
,您可以添加一个简单的try()catch(Exception e)
然后是e.printstacktrace();
获取错误。
如果错误是关于outOfMemory
试试这个answer ;
另外,你可以试试这个技巧:
File camDir = new File(Environment.getExternalStorageDirectory().getAbsoluteFile() + "/DCIM/Camera");
File[] files = camDir.listFiles();
FileInputStream FI = new FileInputStream (files[1].getAbsolutePath());
Bitmap img = BitmapFactory.decodeStream(FI);
img.getDensity();
我在评论中向您提到的另一种尝试,您可以删除 getAbsolutePath()
并按如下方式执行:
File camDir = new File(Environment.getExternalStorageDirectory() + "/DCIM/Camera");
关于android - BitmapFactory.decodeFile 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34793063/