Android - 无法创建目录

时间:2016-06-10 19:00:35

标签: android file permissions directory storage

这是我的代码:

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");

没有任何作用。

编辑:设备操作系统版本为6.0.1(Nexus 9平板电脑)。

1 个答案:

答案 0 :(得分:2)

问题是由于自Android M以来更改了权限模型。 您需要以编程方式请求权限,即使您已在Manifest文件中声明它。

查看我的答案herehere了解详情。