安卓程序在对sdcard操作时,常常需要先获取sdcard的当前状态,常见的sdcard状态获取和判断取有如下方法
<span style="font-size:18px;">/** 获取存储卡路径 */
File sdcardDir=Environment.getExternalStorageDirectory();
/** StatFs 看文件系统空间使用情况 */
StatFs statFs=new StatFs(sdcardDir.getPath());
/** Block 的 size*/
Long blockSize=statFs.getBlockSize();
/** 总 Block 数量 */
Long totalBlocks=statFs.getBlockCount();
/** 已使用的 Block 数量 */
Long availableBlocks=statFs.getAvailableBlocks();
/** 格式化可用大小 */
Formatter.formatFileSize(getApplicationContext(), availableBlocks);</span>
通过广播机制判断当前sdcard的状态
注册sdcard状态广播: