Intereting Posts
Android: фон Cardview обращается к черному на 4.1.2 Приложение перезагружается, если выбрать приложение из последних приложений только в том случае, когда активность начинается с уведомления Использование SharedPreferences в многопроцессорном режиме Можно установить setDisplayShowTitleEnabled в xml для темы ActionBar? Как получить событие штрихового клика с горизонтальных диаграмм MPcharts в android? Когда я эмулирую приложение Ionic, он бросает TypeError: невозможно вызвать метод на неопределенный Выход эмулятора Android Как создать образцы проектов Android с помощью Ant? Build.xml не существует Служба Android не запускается с помощью теста JUnit Файл манифеста Android со свойствами из другого файла свойств Уведомление об обновлении приложений для Android Как группировать RadioButton из разных LinearLayouts? Повторно подключитесь к процессу отладки на Android с помощью Eclipse с ADT C # xamarin round progress bar – Android Android – несколько вертикальных прокрутки в горизонтальном прокрутке

Проверьте, есть ли на карте памяти достаточная память на SD-карте

Мое приложение сохраняет файлы на SD-карте, но прежде чем сохранять файлы, мне нужно проверить, есть ли свободная память. Мне нужно, чтобы проверить, сколько свободной памяти на SD-карте.

Что-то вроде:

if(MemoryCard.getFreeMemory()>20Mb) { saveFiles(); } else { Toast.makeText(this, "Not enough memory", 100).show(); } 

От: http://groups.google.com/group/android-developers/browse_thread/thread/ecede996463a4058

 StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath()); long bytesAvailable = (long)stat.getBlockSize() * (long)stat.getBlockCount(); long megAvailable = bytesAvailable / 1048576; 
 StatFs class 

Вы можете использовать здесь, указать путь для своего внутреннего и внешнего каталога и рассчитать общее, бесплатное и доступное пространство.

 StatFs memStatus = new StatFs(Environment.getExternalStorageDirectory().getPath()); long bytesAvailable = (long)memStatus.getBlockSize() * (long)memStatus.getAvailableBlocks(); 

Дополнительную информацию см. В документации . bytesAvailable – это байты, которые вы можете преобразовать в тот, который вам нужен.

Для Android 4.3+ (уровень API: 18+)

 StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath()); long bytesAvailable = getAvailableBytes();