Это мой код,
private String memSize(String path){
StatFs stat = new StatFs(path);
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
long freeBlocks = stat.getFreeBlocks();
long countBlocks = stat.getBlockCount();
String fileSize = Formatter.formatFileSize(this, availableBlocks * blockSize);
String maxSize = Formatter.formatFileSize(this, countBlocks * blockSize);
String info = path.toString()
+ "\nblockSize : " + Long.toString(blockSize)
+ "\navailableBlocks : " + Long.toString(availableBlocks)
+ "\nfreeBlocks : " + Long.toString(freeBlocks)
+ "\nreservedBlocks : " + Long.toString(freeBlocks - availableBlocks)
+ "\ncountBlocks : " + Long.toString(countBlocks)
+ "\nspace : " + fileSize + " / " + maxSize
+ "\n\n";
return info;
}
Я тестирую свою функцию с помощью пути / data
и / sdcard
, и он работает
Но когда путь равен /
(я понимаю, что это корневой путь), это результат.
Я думаю, что корневой путь - это область SuperUser. Для доступа может потребоваться разрешение.
Мой телефон уже рутирован. Не могли бы вы показать мне, что мне делать дальше?
Спасибо.
Ссылки