【发布时间】:2015-12-12 21:54:26
【问题描述】:
我试图在 android api 23 (Google Nexus 6p) 设备中创建应用程序私有目录,但它给出了如下异常:ENOENT (no such file or directory) 但低于这意味着低于 API 6 它工作正常并且成功创建文件夹。任何人都可以帮助解决这个问题?我正在使用以下方法创建私有目录
private void createDirectory() {
try {
String s = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "Android" + File.separator
+ "data" + File.separator + getPackageName();
File dir = new File(s);
if (dir.mkdir()) {
System.out.println("Directory created");
} else {
System.out.println("Directory is not created");
}
} catch (Exception e) {
e.printStackTrace();
Log.e("FILE", "Error Package name not found ", e);
}
}
也使用 android manifest 权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
如果是权限错误,那么如果我在“/storage/0/Android/com.test”这个文件夹中手动创建我的应用程序包文件夹,那么该目录中的其他文件可以成功创建。但我无法在 Android API 级别 23 中以编程方式创建“/storage/0/Android/com.test”。
我阅读了 Android M 新运行时权限指南,但我找不到任何目录创建级别权限。
【问题讨论】:
-
@ArturSzymański :我阅读了 Android M 新运行时权限指南,但找不到任何目录创建级别权限。
-
您的示例代码目前不使用它们。
标签: android