本帖最后由 a3491604761 于 2013-01-29 11:42:46 编辑

解决方案 »

  1.   

    android本身只支持一个存储卡既外置的sdcard,内置的flash存储是你方案商自己加进去的,
    所以除非你的方案商添加类似的api,要不你是没办法获取到的。看看android源码就知道了: public static File getExternalStorageDirectory() {
            return EXTERNAL_STORAGE_DIRECTORY;
        } private static final File EXTERNAL_STORAGE_DIRECTORY
                = getDirectory("EXTERNAL_STORAGE", "/sdcard");static File getDirectory(String variableName, String defaultPath) {
            String path = System.getenv(variableName);
            return path == null ? new File(defaultPath) : new File(path);
        }
      

  2.   

    额,我想说一下,你用Environment.getExternalStorageDirectory() 获取的信息就是你的sdcard的,这个是可插拔的,可以理解为外置的吧,内置的你应该看不到!
    你说的storage/extSdCard  敢问你是在哪看到的(/汗)
      

  3.   

    我曲线救国
    //先获取内置sdcard路径
     File sdfile = Environment.getExternalStorageDirectory();
    //获取内置sdcard的父路径
     File parentFile = sdfile.getParentFile();
    //列出该父目录下的所有路径
    File[] listFiles = parentFile.listFiles();
    //如果子路径可以写 就是拓展卡(包含内置的和外置的)
    for (int i = 0; i < listFiles.length; i++) 
    {
    if (listFiles[i].canWrite())
    {
    //listFiles[i]就是SD卡路径
    }
    }
      

  4.   

    我是在Ecplise的DDMS中看到的呀
      

  5.   


    这样做会有问题的,比如三星手机I8250,内置卡它mount到/mnt/sdcard,
    但外置卡却mount到mnt/sdcard/external_sd目录
      

  6.   

    File storageDir = new File("/mnt/");
    if(storageDir.isDirectory()){
    String[] dirlst = storageDir.list();
    //TODO some type of selecton method
    File f= new File("/mnt/extSdCard/");
    new File("/mnt/external_sd/")或者new File("/mnt/extSdCard/")
    替换 Environment.getExternalStorageDirectory() 
      

  7.   

    我之所以想获取外置SD卡的路径 是想遍历内置和外置的SD卡
    如果外置SD卡挂载在/mnt/sdcard/路径下。。我的程序还是可以跑的很正常的
    哈哈