Android - 无法创建目录
Android - Can't make a directory
这是我的代码:
File dir = new File(Environment.getExternalStorageDirectory(), "newDir");
if (!dir.exists()) {
System.out.println(dir.mkdirs());
}
它总是打印错误。
在我的 AndroidManifest.xml 中有以下行:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我还尝试了代码第一行的以下变体:
File dir = new File(Environment.getExternalStorageDirectory() + File.separator + "newDir");
File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/newDir");
File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/newDir/");
File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "newDir");
File dir = new File(Environment.getExternalStorageDirectory() + "newDir");
File dir = new File(Environment.getExternalStorageDirectory().toString() + "/newDir");
没有任何效果。
编辑:设备 OS 版本为 6.0.1(Nexus 9 平板电脑)。
问题是由于自 Android M 以来更改了权限模型。
即使您已在清单文件中声明,您仍需要以编程方式请求许可。
查看我的回答 and here了解更多详情。
这是我的代码:
File dir = new File(Environment.getExternalStorageDirectory(), "newDir");
if (!dir.exists()) {
System.out.println(dir.mkdirs());
}
它总是打印错误。
在我的 AndroidManifest.xml 中有以下行:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我还尝试了代码第一行的以下变体:
File dir = new File(Environment.getExternalStorageDirectory() + File.separator + "newDir");
File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/newDir");
File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/newDir/");
File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "newDir");
File dir = new File(Environment.getExternalStorageDirectory() + "newDir");
File dir = new File(Environment.getExternalStorageDirectory().toString() + "/newDir");
没有任何效果。
编辑:设备 OS 版本为 6.0.1(Nexus 9 平板电脑)。
问题是由于自 Android M 以来更改了权限模型。 即使您已在清单文件中声明,您仍需要以编程方式请求许可。
查看我的回答