Android External Storage Free Space

less than 1 minute read

Today I wanted to store some images to SD card and I wanted to find the available space:

/**
 * Get the available free space in the external storage (usually SD card)
 * 
 * @return the available space in gigabytes
 */
public double getExternalStorageFreeSpace() {
	StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
	
	double sdAvailSize = (double) stat.getAvailableBlocks()	* (double) stat.getBlockSize();
	
	// One binary gigabyte equals 1,073,741,824 bytes.
	double gigaAvailable = sdAvailSize / 1073741824;

	return gigaAvailable;
}

Comments