Environment.ExternalStorageDirectory 属性

定义

返回主共享/外部存储目录。

public static Java.IO.File? ExternalStorageDirectory { [Android.Runtime.Register("getExternalStorageDirectory", "()Ljava/io/File;", "")] get; }
[<get: Android.Runtime.Register("getExternalStorageDirectory", "()Ljava/io/File;", "")>]
static member ExternalStorageDirectory : Java.IO.File

属性值

属性

注解

返回主共享/外部存储目录。 如果用户已将其装载在其计算机上、已从设备中删除,或者发生了其他问题,则当前可能无法访问此目录。 可以使用 确定其当前状态 #getExternalStorageState()

<em>注意:不要被此处的“external”一词混淆。 此目录可以更好地视为媒体/共享存储。 它是一个文件系统,可以保存相对大量的数据,并且在所有应用程序之间共享, (不强制) 权限。 传统上,这是一个 SD 卡,但它也可以实现为不同于受保护内部存储的设备中的内置存储,并且可以作为文件系统装载在计算机上。</Em>

在具有多个用户 (的设备上,如) 所述 UserManager ,每个用户都有自己的独立共享存储。 应用程序仅有权访问其运行方式的用户的共享存储。

在具有多个共享/外部存储目录的设备中,此目录表示用户将与之交互的主存储。 可通过 Context#getExternalFilesDirs(String)Context#getExternalCacheDirs()Context#getExternalMediaDirs()访问辅助存储。

为了避免污染用户的根命名空间,应用程序不应直接使用此顶级目录。 应用程序私有的任何文件都应放置在 返回的 android.content.Context#getExternalFilesDir Context.getExternalFilesDir目录中,如果卸载应用程序,系统将负责删除该目录。 其他共享文件应放置在 返回 #getExternalStoragePublicDirectory的其中一个目录中。

写入此路径需要 android.Manifest.permission#WRITE_EXTERNAL_STORAGE 权限,从 开始 android.os.Build.VERSION_CODES#KITKAT,读取访问权限需要 android.Manifest.permission#READ_EXTERNAL_STORAGE 权限,如果您拥有写入权限,则会自动授予该权限。

从 开始 android.os.Build.VERSION_CODES#KITKAT,如果应用程序只需要存储内部数据,请考虑使用 Context#getExternalFilesDir(String)Context#getExternalCacheDir()Context#getExternalMediaDirs(),这不需要读取或写入权限。

此路径可能因平台版本而异,因此应用程序应仅保留相对路径。

下面是监视外部存储状态的典型代码示例:

{

android.os.Environment.getExternalStorageDirectory()Java 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

适用于

另请参阅