安装SD卡的Android检查始终返回true

时间:2011-10-17 06:39:16

标签: android storage android-sdcard archos

我不确定问题的根源是什么 - 带有bug的老版本的android或者我做错了什么,但我的问题是无论我做什么,android报告SD卡已挂载。即使它不在平板电脑中(archos 7o)..

public boolean saveToDisk(String filename, String header) {
    /* first check to see if the SD card is mounted */
    if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
        //throw some exception so we can display an error message 
        // XXX
        return false;
    }
    try {
        File root = Environment.getExternalStorageDirectory();
        File dir = new File(root.getAbsolutePath() + "/bioz");
        if (!dir.exists()) {
            dir.mkdirs();
        }
        File file = new File(dir, filename);
        ....

第一个测试始终为true,getExternalStorageDirectory()使用/ mnt / storage进行响应,并测试是否存在/ mnt / storage / bioz表示该目录确实存在。

知道发生了什么事吗?我做错了什么,API坏了还是其他什么?

谢谢, 礼

1 个答案:

答案 0 :(得分:3)

外部存储与SD卡不同,至少在所有设备上都没有。具有内部闪存的设备(例如我的Nexus S)将其视为“外部存储”。

现在,具有内部闪存和SD卡,威胁内部闪存作为外部存储器和SD卡的设备随后被添加为此外部存储器下的目录。

程序员认为这很痛苦,但我们无能为力。