我正在尝试将位图保存到Pictures目录中.这是代码
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File file = new File(path,"test1.PNG");
try {
path.mkdirs();
OutputStream out = new FileOutputStream(file);
mBitmap.compress(Bitmap.CompressFormat.PNG,90,out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
Log.w("ExternalStorage","Error writing " + file,e);
}
但是执行卡在OutputStream out = new FileOutputStream(file);
我用调试器和完整路径返回mnt / sdcard / Pictures / test1.PNG,是mnt /罪魁祸首为什么我无法通过OutputStream out = new FileOutputStream(file);?因为我只能在我的文件目录中看到sdcard /.
谢谢!
最佳答案
你可以使用这个Environment.getExternalStorageDirectory()作为mnt / sdcard或sdcard /它来获取和访问sdcard目录,这是一个设备依赖目录,它是操作系统访问和使用外部目录的方法,不需要担心不同的设备和不同的目录被返回通过这种方法.
编辑
对于访问外部存储需要权限并在androidmanifest.xml文件中定义为用户权限
WRITE_EXTERNAL_STORAGE
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。