Context.GetExternalFilesDirs(String) 方法

定义

返回所有共享/外部存储设备上特定于应用程序的目录的绝对路径,应用程序可在其中放置其拥有的永久性文件。

[Android.Runtime.Register("getExternalFilesDirs", "(Ljava/lang/String;)[Ljava/io/File;", "GetGetExternalFilesDirs_Ljava_lang_String_Handler")]
public abstract Java.IO.File[]? GetExternalFilesDirs (string? type);
[<Android.Runtime.Register("getExternalFilesDirs", "(Ljava/lang/String;)[Ljava/io/File;", "GetGetExternalFilesDirs_Ljava_lang_String_Handler")>]
abstract member GetExternalFilesDirs : string -> Java.IO.File[]

参数

type
String

要返回的文件目录的类型。 可以是null文件目录的根目录或子目录的下列常量之一:android.os.Environment#DIRECTORY_MUSIC、、、android.os.Environment#DIRECTORY_PODCASTSandroid.os.Environment#DIRECTORY_RINGTONESandroid.os.Environment#DIRECTORY_ALARMSandroid.os.Environment#DIRECTORY_NOTIFICATIONS、或android.os.Environment#DIRECTORY_PICTURESandroid.os.Environment#DIRECTORY_MOVIES

返回

File[]

特定于应用程序的目录的绝对路径。 如果共享存储当前不可用,则可能是 null 某些单独的路径。 返回的第一个路径与 #getExternalFilesDir(String).

属性

注解

返回所有共享/外部存储设备上特定于应用程序的目录的绝对路径,应用程序可在其中放置其拥有的永久性文件。 这些文件在应用程序内部,通常不向用户作为媒体可见。

这类似于 #getFilesDir() 在卸载应用程序时会删除这些文件,但存在一些重要差异: <ul><li>共享存储可能并不总是可用,因为用户可以弹出可移动媒体。 可以使用 .. 检查 Environment#getExternalStorageState(File)媒体状态。 <li>这些文件未强制实施安全。 例如,任何持有 android.Manifest.permission#WRITE_EXTERNAL_STORAGE 的应用程序都可以写入这些文件。 </ul>

如果模拟共享存储设备(由 Environment#isExternalStorageEmulated(File)确定),则其内容由专用用户数据分区提供支持,这意味着在这里存储数据(而不是由此类返回的 #getFilesDir()专用目录)没有什么好处。

此处返回的共享存储设备被视为设备的稳定部分,包括保护盖下的物理媒体槽。 返回的路径不包括暂时性设备,例如连接到手持设备的 USB 闪存驱动器。

应用程序可以在任何或所有返回的设备上存储数据。 例如,应用可以选择将大文件存储在具有最可用空间的设备上,以度量方式 StatFs

调用应用无需其他权限即可在返回的路径下读取或写入文件。 辅助外部存储设备上的这些路径之外的写入访问权限不可用。

如果插入了不同的共享存储介质,则返回的路径可能会随时间而变化,因此应仅保留相对路径。

适用于 . 的 android.content.Context.getExternalFilesDirs(java.lang.String)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于

另请参阅