我有一个小部件可以告诉用户连接的 USB 设备的容量,以及使用的空间量。我已经浏览了 android.hardware.usb API,我发现没有任何东西可以确定连接的 USB 设备的大小及其使用情况。
现在我正在捕获 Intent.ACTION_MEDIA_MOUNTED 并在挂载点的 Dir 中搜索特定文件等......所有这些都工作正常,但对于我来说,我看不到如何利用 API 来确定整体大小和连接的 USB 设备的使用情况。
有没有好心人知道,或者有文章给我看?谢谢大家。
听起来您的设备实际上正在安装连接的 USB 设备的文件系统,这似乎是供应商附加组件,而不是库存的 android 功能。
如果确实如此,那么您可能拥有的任何其他选项都可以使用 df shell 命令,或者更正确地在 java 或本机子例程中复制其功能。
你可以在这里查看android的df的来源:
https://github.com/android/platform_system_core/blob/master/toolbox/df.c
它看起来是一个相当标准的实现 - 读取 /proc/mounts 以查找文件系统,在每个文件系统上调用 statfs()。您可能希望按感兴趣的人进行过滤。