Intereting Posts
Как удалить виджет, когда приложение будет удалено на Android? Android In-App Billing: состояние покупки остается «купленным» после отмены заказа Как я могу добавить selectableItemBackground в ImageButton программно? Почему я могу ввести отключенный EditText? Android Studio измените ключевые клавиши KeyBoard Маржа между элементами просмотра recycler Android Ошибка компиляции при использовании JsonObjectRequest Java Импорт com.google не может быть разрешен Есть ли способ получить уведомление, когда пользователь отключает устройство? Android, как передать Activity.class в качестве аргумента для функции Почему моя анимация оставляет след? Android: обновление контрольной панели для загрузки файлов Кнопка «Действие» Кнопка «Главная» не работает с вложенным экраном предпочтений Использование Calender.LONG в getDisplayNames () нерешенным Как обрабатывать миграцию области, если пользователи пропускают обновления

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

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

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

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

Solutions Collecting From Web of "Проверьте, есть ли на карте памяти достаточная память на SD-карте"

От: 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();