我有一段代码,它在ExternalStorage(GalaxyTab2 7.0的“内部”8GB内存)上的/ sdcard上创建一个文件。
directory = new File(Environment.getExternalStorageDirectory(),
"/logs");
directory.mkdirs();
log = new File(directory.getPath() + "/" + this.filename);
boolean created = log.createNewFile();
在最后一行我收到以下错误:
... java.io.IOException: open failed: EACCES (Permission denied)
... at java.io.File.createNewFile(File.java:948)
我有
是否有人提示,这会导致此行为?
最好的问候
答案 0 :(得分:2)
在清单文件中添加以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
答案 1 :(得分:1)
我使用了一个(自编写的)库来管理所有内存访问。此库项目具有WRITE_EXTERNAL_STORAGE
权限。引用此库的App也必须具有此权限,即使它不直接访问存储。