0

我正在各种模拟设备上使用 Android Studio 进行开发。

Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())

总是返回 false 直到我选择在模拟设备上模拟 SD 卡。

但是http://developer.android.com/training/basics/data-storage/files.html上的文档特别指出

“总是有两个存储空间,无论外部存储是否可移动,API 行为都是相同的。”

这似乎表明外部存储不需要指实际的 SD 卡,并且可以是内部的。因此,为什么我需要将模拟 SD 卡的大小设置为大于零才能使该代码正常工作?我有什么误解或遗漏?

此外,context.getExternalFilesDir 是否引用与 Environment.getExternalStorageState 相同的目录标志?

谢谢,

托尼

4

1 回答 1

0

您需要选择模拟 SD 卡以指示您有关联的外部存储的模拟器。你说的没错,外部存储可以是可移动存储介质(如 SD 卡)或内部(不可移动)存储。

是的,context.getExternalFilesDir 根据文档返回外部文件系统上目录的绝对路径,因此将同一目录的标志称为 Environment.getExternalStorageState

于 2013-08-02T02:39:36.807 回答