2012-10-09 29 views
1

可能重複的自由空間:
Android SD card free space確定一個安裝的外部的SD卡

在某些設備上外部sdcards被安裝在/ mnt/SD卡/ TFLASH。 現在我需要找出多少可用空間是在外部SD卡。

我無法測試它,所以我不知道,如果以下收益的/ mnt/sd卡/ TFLASH的到/ mnt/sd卡

 StatFs stat = new StatFs("/mnt/sdcard/tflash"); 
     long blockSize = stat.getBlockSize(); 
     long totalBlocks = stat.getBlockCount(); 
     return totalBlocks * blockSize; 

任何提示insteed大小如何找到自由空間/ mnt/sdcard/tflash或/ mnt/sdcard/external_sd

回答

3

不幸的是,Android真的沒有一個真正的「外部SD卡」的概念,事實上,他們的外部存儲通常被稱爲人們通常考慮內部存儲器(如,與一個設備嵌入的8GB!)

Environment.getExternalStorageState() returns path to internal SD mount point like "/mnt/sdcard" 

Environment.getExternalStorageDirectory()是被認爲是「外部存儲」無論設備製造商。有時候這是真正的可移動存儲,有時它不是!

我不想爆泡,但有可能是沒有辦法,但檢查等的/ mnt/SD卡/手動external_sd路徑,並檢查,如果它們存在,則檢查大小。這就是我最後做對我的應用程序:(

0

的嘗試

StatFs st = new StatFs(Environment.getExternalStorageDirectory().getPath()); 

long sdcardSize = (long) st.getBlockSize() * (long) st.getBlockCount(); 
+0

這給我的到/ mnt/SD卡/大小,但我需要一個外部安裝SD卡上的大小的/ mnt/SD卡/ external_sd –