本帖最后由 u010457784 于 2013-10-18 09:27:03 编辑

解决方案 »

  1.   

    /**  * 取得空闲sd卡空间大小  * @return  */  public long getAvailaleSize(){   File path = Environment.getExternalStorageDirectory(); //取得sdcard文件路径   StatFs stat = new StatFs(path.getPath());    /*获取block的SIZE*/    long blockSize = stat.getBlockSize();    /*空闲的Block的数量*/    long availableBlocks = stat.getAvailableBlocks();   /* 返回bit大小值*/    return availableBlocks * blockSize;     //(availableBlocks * blockSize)/1024      KIB 单位    //(availableBlocks * blockSize)/1024 /1024  MIB单位     }
      

  2.   

    public long getAvailaleSize(){   File path = Environment.getExternalStorageDirectory(); //取得sdcard文件路径   StatFs stat = new StatFs(path.getPath());    /*获取block的SIZE*/    long blockSize = stat.getBlockSize();    /*空闲的Block的数量*/    long availableBlocks = stat.getAvailableBlocks();   /* 返回bit大小值*/    return availableBlocks * blockSize;     //(availableBlocks * blockSize)/1024      KIB 单位    //(availableBlocks * blockSize)/1024 /1024  MIB单位     } 
      

  3.   


    public long getAvailaleSize(){   
     File path = Environment.getExternalStorageDirectory(); //取得sdcard文件路径   
     StatFs stat = new StatFs(path.getPath());    
     /*获取block的SIZE*/    
     long blockSize = stat.getBlockSize();    
     /*空闲的Block的数量*/    
     long availableBlocks = stat.getAvailableBlocks();   
     /* 返回bit大小值*/    
     return availableBlocks * blockSize;     
     //(availableBlocks * blockSize)/1024      KIB 单位   
     //(availableBlocks * blockSize)/1024 /1024  MIB单位     } 
      

  4.   


    这种方法获得的依然是内置sd卡的路径,但是外置的怎么获取呢?假设我的pad可以插两个sd卡怎么办?
      

  5.   


    这种方法获得的依然是内置sd卡的路径,但是外置的怎么获取呢?假设我的pad可以插两个sd卡怎么办?下面这个是我找到的方法,这可以获得android上所有的存储设备的路径,是所有的,包括usbotg等。有没有什么办法可以区分出来哪个是外置sd卡的吗??
    StorageManager sm = (StorageManager) MainActivity.this.getSystemService(Context.STORAGE_SERVICE);
    // 获取sdcard的路径:外置和内置
    try {
    paths = (String[])sm.getClass().getMethod("getVolumePaths", null).invoke(sm, null);

    } catch (IllegalArgumentException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IllegalAccessException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (InvocationTargetException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (NoSuchMethodException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }