У меня устройство HTC с объемом внутренней памяти телефона 16 ГБ, но приведенный ниже код показывает только 14 ГБ.Я хочу найти общий объем внутренней памяти устройства.Следующий код показывает только объем внутренней памяти, доступной пользователю, а не выделенный системой размер.
File path = Environment.getRootDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSizeLong();
long totalBlocks = stat.getBlockCountLong();
long rootCount=totalBlocks * blockSize;
Log.e("getRootDirectory",humanReadableByteCount(rootCount,true));
File dataPath = Environment.getDataDirectory();
StatFs dataStat = new StatFs(dataPath.getPath());
long dataCount=dataStat.getBlockCountLong() *
dataStat.getBlockSizeLong();
Log.e("getDataDirectory",humanReadableByteCount(dataCount,true));
File dwnldPath = Environment.getDownloadCacheDirectory();
StatFs dwnldStat = new StatFs(dwnldPath.getPath());
long dwnldCount=dwnldStat.getBlockCountLong() *
dwnldStat.getBlockSizeLong();
/*
File extPath = Environment.getExternalStorageDirectory();
StatFs extStat = new StatFs(extPath.getPath());
long extCount=extStat.getBlockCountLong() *
extStat.getBlockSizeLong();
*/
long total=rootCount+dataCount+dwnldCount;
Кто-нибудь знает, как найти точный объем внутренней памяти устройства (размер внутренней памяти телефона + размер области системы)