【发布时间】:2012-08-18 17:25:09
【问题描述】:
在我的初始屏幕中,我想检查手机是否有 SDCard。布尔语句如下:
Boolean isSDPresent = android.os.Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED );
因此,如果我的手机插槽中有 SDCard,则此布尔值将返回 true,到目前为止一切正常。当我从设置菜单转到“卸载 SDCard”,并删除 SDCard,然后终止应用程序并再次启动它时,布尔值也将为真..
如果我在卸载和移除 sdcard 后启动Astro File Manager,我仍然可以访问/mnt/sdcard 路径,为什么?
我怎样才能做到这一点?
提前致谢!
编辑
使用以下代码进行测试:
File path = Environment.getExternalStorageDirectory();
String pathS = path.getPath();
当 SDCard 在插槽中时,pathS 包含 mnt/sdcard,但是当我移除 SDCard 时,pathS 仍然是 /mnt/sdcard ...
【问题讨论】:
-
brianestey 的回答可能是正确的。您能否记录 Environment.getExternalStorageDirectory() 的输出并告诉我们?
-
我面临同样的问题。请参阅我对答案的最后编辑,以解释为什么“externalStorage”并不总是我们认为的 SD 卡。我希望有一个更好的 API 来访问 SD 卡,但是除了在我的代码中对已知路径进行特殊检查之外,我还没有找到任何东西。
-
使用文件管理器转到 /mnt。列出了哪些文件夹?
标签: android splash-screen android-sdcard