package org.aisen.android.common.utils; import android.annotation.SuppressLint; import android.os.Environment; import android.os.StatFs; public class SdcardUtils { public static boolean hasSDCard() { boolean mHasSDcard = false; if (Environment.MEDIA_MOUNTED.endsWith(Environment.getExternalStorageState())) { mHasSDcard = true; } else { mHasSDcard = false; } return mHasSDcard; } @SuppressLint("SdCardPath") public static String getSdcardPath() { if (hasSDCard()) return Environment.getExternalStorageDirectory().getAbsolutePath(); return "/sdcard/"; } private static boolean sdcardCanWrite() { return Environment.getExternalStorageDirectory().canWrite(); } public static boolean hasSdcardAndCanWrite() { return hasSDCard() && sdcardCanWrite(); } /** * 获取SDCARD的可用大小,单位字节 * * @return */ public long getSdcardtAvailableStore() { if (hasSdcardAndCanWrite()) { String path = getSdcardPath(); if (path != null) { StatFs statFs = new StatFs(path); @SuppressWarnings("deprecation") long blocSize = statFs.getBlockSize(); @SuppressWarnings("deprecation") long availaBlock = statFs.getAvailableBlocks(); return availaBlock * blocSize; } } return 0; } }