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了解更多详情。