我正在各种模拟设备上使用Android Studio进行开发。
Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
总是返回false UNTIL我选择在模拟设备上模拟SD卡。
但http://developer.android.com/training/basics/data-storage/files.html的文件特别指出
“无论外部存储是否可移动,总有两个存储空间,API行为是相同的。”
这似乎表明外部存储不需要参考实际的SD卡,也可能是内部存储卡。因此,为什么我需要将模拟SD卡的大小设置为大于零才能使该代码生效?我误解或遗失了什么?
此外,context.getExternalFilesDir是否引用与Environment.getExternalStorageState相同的目录标志?
谢谢,
贝
答案 0 :(得分:0)
您需要选择模拟SD卡以指示您具有外部存储关联的模拟器。你所说的是正确的,外部存储可以是可移动存储介质(如SD卡)或内部(不可移动)存储。
是的,context.getExternalFilesDir根据文档返回外部文件系统上目录的绝对路径,因此引用与Environment.getExternalStorageState
相同的目录标志