-1

I would like to know how I can retrieve device information on my Android mobile application as the free internal memory available on the device.

Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
  • 1
    Please read this to see how to ask a good question: http://stackoverflow.com/help/how-to-ask. Question does not show any form of research – 0xDEADC0DE May 11 '16 at 12:22
  • I think you can find your answer here http://stackoverflow.com/questions/8133417/android-get-free-size-of-internal-external-memory – Hayk Petrosyan May 11 '16 at 12:27

2 Answers2

0

Here is a function I've been using to get the available memory at any given time :

public static long getAllowedMemory() {
    final long defaultValue = 16l * 1024l * 1024l;

    final Runtime runtime = Runtime.getRuntime();
    if (runtime != null) {
        final Long value = runtime.maxMemory();
        if (value == Long.MAX_VALUE) {
            // No value available
            return defaultValue;
        } else {
            return value;
        }

    }

    return defaultValue;
}
NSimon
  • 5,212
  • 2
  • 22
  • 36
0

Try this. following code returns Internal Storage Memory in MB ,

StatFs stat = new StatFs(Environment.getDataDirectory().getPath());
long bytesAvailable = (long)stat.getFreeBlocks() * (long)stat.getBlockSize();
long megAvailable = bytesAvailable / 1048576;
Sathish Kumar J
  • 4,280
  • 1
  • 20
  • 48