Context.GetExternalMediaDirs Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns absolute paths to application-specific directories on all shared/external storage devices where the application can place media files.
[Android.Runtime.Register("getExternalMediaDirs", "()[Ljava/io/File;", "GetGetExternalMediaDirsHandler")]
public abstract Java.IO.File[]? GetExternalMediaDirs ();
[<Android.Runtime.Register("getExternalMediaDirs", "()[Ljava/io/File;", "GetGetExternalMediaDirsHandler")>]
abstract member GetExternalMediaDirs : unit -> Java.IO.File[]
Returns
the absolute paths to application-specific directories. Some
individual paths may be null
if that shared storage is
not currently available.
- Attributes
Remarks
Returns absolute paths to application-specific directories on all shared/external storage devices where the application can place media files. These files are scanned and made available to other apps through MediaStore
.
This is like #getExternalFilesDirs
in that these files will be deleted when the application is uninstalled, however there are some important differences: <ul> <li>Shared storage may not always be available, since removable media can be ejected by the user. Media state can be checked using Environment#getExternalStorageState(File)
. <li>There is no security enforced with these files. For example, any application holding android.Manifest.permission#WRITE_EXTERNAL_STORAGE
can write to these files. </ul>
Shared storage devices returned here are considered a stable part of the device, including physical media slots under a protective cover. The returned paths do not include transient devices, such as USB flash drives connected to handheld devices.
An application may store data on any or all of the returned devices. For example, an app may choose to store large files on the device with the most available space, as measured by StatFs
.
No additional permissions are required for the calling app to read or write files under the returned path. Write access outside of these paths on secondary external storage devices is not available.
The returned paths may change over time if different shared storage media is inserted, so only relative paths should be persisted.
This member is deprecated. These directories still exist and are scanned, but developers are encouraged to migrate to inserting content into a MediaStore
collection directly, as any app can contribute new media to MediaStore
with no permissions required, starting in android.os.Build.VERSION_CODES#Q
.
Java documentation for android.content.Context.getExternalMediaDirs()
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.