Scoped Storage
Since Android 10 and with further updates in Android 11, the notion of Scoped Storage was introduced. The main idea behind this is to allow apps to gain more control of their files on the external storage and prevent other apps from accessing these files. The consequences of this mean that READ_EXTERNAL_STORAGE
and WRITE_EXTERNAL_STORAGE
will only apply for files the user interacts with (like media files). This discourages apps to create their own directories on the external storage and instead stick with the one already provided to them through the Context.getExternalFilesDir
.
FileProviders and Storage Access Framework are a good way of keeping your app's compliance with the scoped storage practices because one allows the app to use the Context.getExternalFilesDir
and the other uses the built-in File Explorer app which will now avoid files from other applications in the Android/data
and Android/obb
folders on the external storage.