Environment.ExternalStorageDirectory 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回主共享/外部存储目录。
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 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。