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;
}
}