判断SD卡剩余空间大小和总SD卡总容量

前提确保手机已经插入SD卡并且可用

要获取SD卡上面的信息,必须先对SD卡有访问的权限,因此第一件事就是需要添加访问扩展设备的权限

代码实现:

 //SD卡剩余空间大小
    	 public long getSDFreeSize(){  
    		     //取得SD卡文件路径   
    		      File path = Environment.getExternalStorageDirectory();   
    		      StatFs sf = new StatFs(path.getPath());   
    		      //获取单个数据块的大小(Byte)   
    		      long blockSize = sf.getBlockSize();   
    		     //空闲的数据块的数量   
    		      long freeBlocks = sf.getAvailableBlocks();  
    		      //返回SD卡空闲大小   
    		      return (freeBlocks * blockSize)/1024 /1024; //单位MB   
    		    }      

    	 //SD卡总容量
    	 public long getSDAllSize(){  
    		      //取得SD卡文件路径   
    		      File path = Environment.getExternalStorageDirectory();   
    		      StatFs sf = new StatFs(path.getPath());   
    		      //获取单个数据块的大小(Byte)   
    		      long blockSize = sf.getBlockSize();   
    		      //获取所有数据块数   
    		      long allBlocks = sf.getBlockCount();  
    		      //返回SD卡大小   
    		      //return allBlocks * blockSize; //单位Byte   
    		      //return (allBlocks * blockSize)/1024; //单位KB   
    		      return (allBlocks * blockSize)/1024/1024; //单位MB   
    		    }      


你可能感兴趣的:(android开发总结)