Check if it has enough Space On SdCard - Android android.os

Android examples for android.os:SD Card

Description

Check if it has enough Space On SdCard

Demo Code

import java.io.File;

import android.os.Environment;
import android.os.StatFs;

public class Main {

  /**//from w  ww  .  java 2 s  .c o  m
   * Checks if there is enough Space on SDCard
   * 
   * @param updateSize
   *          Size to Check
   * @return True if the Update will fit on SDCard, false if not enough space on
   *         SDCard Will also return false, if the SDCard is not mounted as
   *         read/write
   */
  public static boolean enoughSpaceOnSdCard(long updateSize) {
    String status = Environment.getExternalStorageState();
    if (!status.equals(Environment.MEDIA_MOUNTED))
      return false;
    return (updateSize < getRealSizeOnSdcard());
  }

  /**
   * get the space is left over on sdcard
   */
  @SuppressWarnings("deprecation")
  public static long getRealSizeOnSdcard() {
    File path = new File(Environment.getExternalStorageDirectory().getAbsolutePath());
    StatFs stat = new StatFs(path.getPath());
    long blockSize = stat.getBlockSize();
    long availableBlocks = stat.getAvailableBlocks();
    return availableBlocks * blockSize;
  }

}

Related Tutorials