天天看點

關于安卓開發時擷取sd卡狀态

 首先要在AndroidManifest.xml中增加SD卡通路權限 

判斷SD卡是否存在privateboolean ExistSDCard() 

{ if (android.os.Environment.getExternalStorageState().

equals( android.os.Environment.MEDIA_MOUNTED)) { 

returntrue; } elsereturnfalse; } 

檢視SD卡的剩餘空間publiclong getSDFreeSize(

){ //取得SD卡檔案路徑 File path = Environment.

getExternalStorageDirectory(); StatFs sf = ne

w 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卡總容量publiclong 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;

 //機關KBreturn (allBlocks * blockSize)/1024/1024; //機關MB