Если вы качаете для своего приложения дополнительные файлы из интернета, то может возникнуть необходимость проверить, влезут ли они на девайс =)
Ниже следующий код покажет, сколько свободного места есть в вашем распоряжении.
public static final float BYTE_IN_MB = 1024f*1024f;
public static int getExternalFreeSpace() {
final String path = Environment.getExternalStorageDirectory().getPath();
final int mbfree = getSpaceForFile(path);
return mbfree;
}
public static int getInternalFreeSpace() {
final String path = Environment.getDataDirectory().getPath();
final int mbfree = getSpaceForFile(path);
return mbfree;
}
private static int getSpaceForFile(String path) {
StatFs sf = new StatFs(path);
final int blocks = sf.getAvailableBlocks();
final int blockSize = sf.getBlockSize();
final int totalBytes = blocks*blockSize;
final int mbFree = (int) (totalBytes/BYTE_IN_MB);
Log.d(TAG, "Utils, free space=" + mbFree);
return mbFree;
}