Android 判斷SD卡是否存在及容量查詢的簡單方法如下:
首先要在AndroidManifest.xml中增加SD卡訪問權限
<!-- 在SDCard中創建與刪除文件權限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard寫入數據權限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
判斷SD卡是否存在
private boolean ExistSDCard() { if (android.os.Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOUNTED)) { return true; } else return false; }
查看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; //單位Byte //return (freeBlocks * blockSize)/1024; //單位KB 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 }