【发布时间】:2014-08-04 09:38:35
【问题描述】:
知道如何读取/获取 SD 卡上的实际可用空间量吗?我在 Android 4.3 上运行。我已经尝试了所有可能的方法来正确读取它,但是我得到的东西是实际可用空间的两倍多。
现在我已经尝试了经典
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
availableSpace = (long) stat.getAvailableBlocks() * (long) stat.getBlockSize();
使用 API 18 getAvailableBlocksLong 和其他 getBlockSizeLong,结果仍然相同。
唯一有效(但这不是我需要的)是 shell 命令 df。我还尝试了获取可用的可用空间功能,结果相同。而且这件事不仅发生在我的设备上,而且发生在我尝试代码的所有设备上。
【问题讨论】:
-
请尝试使用
getAvailableSpaceInMB()获取可用空间(以 MB 为单位)。 -
不是格式问题。问题是,无论我试图获得可用空间,这是错误的。我的 SD 卡上有 13.31gb 的空闲空间,但我得到了大约 24gb。
标签: java android eclipse storage