我正在用各种仿真设备上的Android Studio进行开发。困惑:context.getExternalFilesDir与Environment.getExternalStorageState();
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相同的目录标志吗?
谢谢
托尼
这听起来像我不能在外部存储数*总是*可用。例如,如果有人安装,然后删除了一张SD卡,操作系统不会有一些内置的存储可用作外部存储。 是否有*总是*一些“外部”存储可用,即使在没有SD卡或SD卡的情况下? 再次感谢 - – TonyMLake
@Pradeep,我在物理设备上运行这个。尝试编写逻辑来判断外部SD卡是否可用于下载文件或是否需要切换到内部文件。我认为getExternalStorageState可用于确定外部SD卡是否存在。我错过了什么? – justdan0227