1,判断sd卡是否存在;
2,获取剩余空间;
3,获取sd卡总大小;
需要的权限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
代码:
import java.io.File;
import android.os.Environment;import android.os.StatFs;
public class StorageHelper {
public static boolean existSDCard() {
return (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) ? true
: false;
}
public static long getFreeSizeOfSD() {
File path = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(path.getPath());
// get the size of a block (Byte)
// the number of free block;
// return freeBlocks * blockSize; //Byte
// return (freeBlocks * blockSize)/1024; //KB
return (sf.getAvailableBlocks() * sf.getBlockSize()) / 1024 / 1024; //UNIT:MB
}
public static long getTotalSizeOfSD() {
StatFs sf = new StatFs(Environment.getExternalStorageDirectory().getPath());
return (sf.getBlockCount() * sf.getBlockSize()) / 1024 / 1024; // UNIT:MB
}
}