I want to store a file on the SD card using File
. I already achieved to store a file in external storage (named internal storage in my file explorer app. This is NO
Using this may help you:
An answer to Stack Overflow question How do I get the external storage's path?
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)
Ideally, you use the Storage Access Framework (e.g., ACTION_CREATE_DOCUMENT
) and let the user choose where the user wants to put this content. The user may wish to put the content somewhere else. For example, the user may not have removable storage.
Temporarily, you are welcome to use getExternalFilesDirs()
and similar methods on Context
. If these return 2+ elements, the second and subsequent ones are locations on removable storage. On Android 4.4+, your app can write to those locations without any particular permissions. Android Q is changing the rules here a lot, which is another reason to use the Storage Access Framework instead.