Если вы качаете для своего приложения дополнительные файлы из интернета, то может возникнуть необходимость проверить, влезут ли они на девайс =)

Ниже следующий код покажет, сколько свободного места есть в вашем распоряжении.


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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *