Read that Android 11 has scoped storage, but I can't find any information, how can I create and use folder in /storage/emulated/0/ ? Old methods works only on api 29 and below :(
Read that Android 11 has scoped storage, but I can't find any information, how can I create and use folder in /storage/emulated/0/ ? Old methods works only on api 29 and below :(
Since Android Q we can create folders in app specif storage. its path:
Android->data->package name->files->your folder
Use this:
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();
}
On Android 11 the restrictions in Android 10 concerning access to external storage are much less.
Environment.getExternalStorageDirectory()
is readable again and
Environment.getExternalStoragePublicDirectory(...)
is writable for folders like Environment.DIRECTORY_DOCUMENTS and so on.
The Android OS is very picky using the right extensions for your files in most of those directories.
Step 1:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Step 2:
Environment.getExternalStorageDirectory().absolutePath + "/your_folder_name"