6

读到 Android 11 有范围存储,但我找不到任何信息,如何在 中创建和使用文件夹/storage/emulated/0/?旧方法仅适用于 api 29 及以下版本:(

4

3 回答 3

7

从 Android Q 开始,我们可以在应用特定的存储中创建文件夹。它的路径:

Android->数据->包名->文件->你的文件夹

用这个:

File file;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
    file = new File (this.getExternalFilesDir(null) + path);
} else {
    file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + path);
}

if (!file.exists()) {
    file.mkdirs();
}
于 2020-12-28T08:39:21.853 回答
4

在 Android 11 上,Android 10 中有关访问外部存储的限制要少得多。

Environment.getExternalStorageDirectory()

再次可读并且

Environment.getExternalStoragePublicDirectory(...)

对诸如此类的文件夹是可写的Environment.DIRECTORY_DOCUMENTS

Android 操作系统非常挑剔,在大多数目录中为您的文件使用正确的扩展名。

于 2020-09-23T06:46:05.467 回答
-2

步骤1:

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

第2步:

Environment.getExternalStorageDirectory().absolutePath + "/your_folder_name"
于 2020-09-23T07:40:39.433 回答