无法 Android 在 public 外部存储中创建文件夹

Can not get Android to create a folder in public external storage

我正在使用 Android Studio。我将我的项目设置为需要 API 版本 11。模拟器设置为 Nexus 5 API23(标准默认设置)。

我想让我的应用程序将一个简单的文本文件写入一个位置,在该位置我可以通过插入 USB 电缆将创建的文本文件拉到我的计算机上。所以它需要在 public 外部存储中。

出于某种原因,我无法获取代码来为我的文本文件创建文件夹。我已将我的代码与 "Utilities" class 中的这个小块配对 我有:

public static boolean createTheDangFolder(Context c, String fileName, String body) {
    boolean saved = true;
    //File dir = new File(c.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "MyCustomFolder");
    File dir = new File(Environment.getExternalStorageDirectory(), "MyCustomFolder");
    if (!dir.exists()) {
        saved = dir.mkdirs();
    }
    return saved;
}

此函数始终 return 为假。如果我在 "File" 行上交换评论,它将 return 为真,但注释掉的行是应用程序内存,我无法通过 USB 访问文件。

我的清单文件中有这一行:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我一辈子都弄不明白为什么它不起作用,none 网站上的其他问题给了我一个有效的解决方案。

他们更改了 KitKat 中的外部存储权限。您只能写入 public 个文件夹(如下载)和您自己的应用程序在外部存储上的私有目录。