如何创建文件夹 (Android R - Api 30)?
How to create folder (Android R - Api 30)?
读到 Android 11 有分区存储,但我找不到任何信息,如何在 /storage/emulated/0/
中创建和使用文件夹?旧方法仅适用于 api 29 及以下 :(
在 Android 11 中,Android 10 中关于访问外部存储的限制要少得多。
Environment.getExternalStorageDirectory()
再次可读并且
Environment.getExternalStoragePublicDirectory(...)
对于 Environment.DIRECTORY_DOCUMENTS
等文件夹是可写的。
Android OS 对大多数目录中的文件使用正确的扩展名非常挑剔。
第 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"
因为 Android Q 我们可以在应用特定存储中创建文件夹。它的路径:
Android->data->package name->files->your folder
使用这个:
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();
}
读到 Android 11 有分区存储,但我找不到任何信息,如何在 /storage/emulated/0/
中创建和使用文件夹?旧方法仅适用于 api 29 及以下 :(
在 Android 11 中,Android 10 中关于访问外部存储的限制要少得多。
Environment.getExternalStorageDirectory()
再次可读并且
Environment.getExternalStoragePublicDirectory(...)
对于 Environment.DIRECTORY_DOCUMENTS
等文件夹是可写的。
Android OS 对大多数目录中的文件使用正确的扩展名非常挑剔。
第 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"
因为 Android Q 我们可以在应用特定存储中创建文件夹。它的路径:
Android->data->package name->files->your folder
使用这个:
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();
}