내 장치의 내부 / 외부 저장소에있는 사용 가능한 메모리의 크기를 프로그래밍 방식으로 얻고 싶습니다. 이 코드를 사용하고 있습니다.
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount();
long megAvailable = bytesAvailable / 1048576;
Log.e("","Available MB : "+megAvailable);
File path = Environment.getDataDirectory();
StatFs stat2 = new StatFs(path.getPath());
long blockSize = stat2.getBlockSize();
long availableBlocks = stat2.getAvailableBlocks();
String format = Formatter.formatFileSize(this, availableBlocks * blockSize);
Log.e("","Format : "+format);
그리고 내가 얻는 결과는 다음과 같습니다.
11-15 10:27:18.844: E/(25822): Available MB : 7572
11-15 10:27:18.844: E/(25822): Format : 869MB
문제는 1,96GB
지금 SdCard의 여유 메모리를 얻고 싶다는 것 입니다. 무료 크기를 얻을 수 있도록이 코드를 어떻게 수정할 수 있습니까?