【发布时间】:2018-10-30 05:30:03
【问题描述】:
我想获得设置 -> 存储中显示的设备存储容量 - 通常类似于:32 / 64 / 128 / 256 GB。
我使用了这篇文章(以及一些类似的文章): It is possible to get total storage capacity?
我有这个代码:
StatFs stat = new StatFs(Environment.getDataDirectory().getAbsolutePath());
long gb = 1024 * 1024 * 1024;
long size = stat.getTotalBytes() / gb;
这在 64GB 三星 S8 上返回 47GB,在 128GB 华为 Mate 10 上返回 111GB - 这不是我想要的。
如何获得 64GB / 128GB 的值? 谢谢!!
更新
这与这个问题相同:How to get exact capacity from storage。 不幸的是,接受的答案表明无法获取存储信息-我希望得到不同的答案..可能不使用 StatFs 而是其他方式。
【问题讨论】:
-
总空间通常被分成多个分区(参见例如forum.xda-developers.com/general/general/…)。因此,文件系统中并非所有内容都可用。
-
谢谢亨利 - 是否可以不使用 StatFs 而使用其他方式?
-
@Daniel 你检查过 CommonsWare 的答案吗(他是 Android 大师)我上面提到的重复问题。它明确指出,任何 API 都无法获取手机的存储容量(可能对于 root 设备)。检查它:stackoverflow.com/a/43005006/631803
-
@VicJordan 是的 .. 我看到了,谢谢 .. 我会再试几天再放弃
标签: android