public boolean externalMemoryAvailable(){

return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);

}

public long getAvailableExternalMemorySize(){

if(externalMemoryAvailable()){

File path = Environment.getExternalStorageDirectory();

StatFs stat = new StatFs(path.getPath());

long blockSize = stat.getBlockSize();

long availableBlocks = stat.getAvailableBlocks();

return availableBlocks*blockSize/(1024*1024);//返回单位 M

}

else{

return -1;

}

}