那你直接假设有“/mnt/sdcard2/”存在,通过File判断是否存在。

解决方案 »

  1.   

    这也是个方法 但是太特例了。我是想找到通用的方式,因为你也知道android上机型太多了
      

  2.   

    private File fileDir;
    private File sdcardDir;fileDir = this.getFilesDir();//当前File目录
    sdcardDir = Environment.getExternalStorageDirectory();//SD card目录
      

  3.   

    刚去看了下Environment类和System类的源码,都没有sdcard2的字样
    私以为系统本身是只支持到sdcard的
      

  4.   


    这种方式也只能获取/mnt/sdcard/
      

  5.   

    Environment.getExternalStorageDirectory();
      

  6.   

    String absolutePath = Environment.getHostStorageDirectory().getAbsolutePath();
      

  7.   

    楼主这种情况,是将移动T卡挂载到了/mnt/sdcard2/ 上。在4.0以后的系统中,StorageManager好像有一些方法可以获取当前手机中各个卷的状态。你这种情况的话,不妨根据卷的可移动性来试下。获取取某个卷的removable属性值为true的卷。
      

  8.   

    千万不要使用硬编码的方式来获取SD卡路径。由于sd卡方案都是厂商定制的,因此Environment.getExternalStorageDirectory()获取到的基本上都是内置存储的路径。建议读取/proc/mounts的内容进行处理。
      

  9.   

    同样的问题。Environment.getExternalStorageDirectory()获取的总是内置储存卡的路径。在手机上设置储存位置为外部储存卡,获取的还是内置储存卡