0

我正在尝试测量 USB 驱动器的可用空间和驱动器容量。以下用于测量可用空间的代码在以前的 Android 版本中运行良好,并且类似的技术可以测量驱动器容量:

val descriptor = contentResolver.openAssetFileDescriptor(rootUri, "r")
val stats = Os.fstatvfs(descriptor!!.fileDescriptor)
val availableSpace = stats.f_bavail * stats.f_bsize

但在 Android 12 中,这种方法不再可行,因为由于某种原因,现在调用 ContentResolver.openAssetFileDescriptor() 需要更长的时间。Android 12 更改列表中似乎没有任何内容对此负责。我什至尝试查看此方法的源代码,但无法找到从 Android 11 更改为 12 的任何内容。

是否有其他方法可以测量驱动器空间?或者任何解释为什么ContentResolver.openAssetFileDescriptor()需要这么长时间才能执行?

4

0 回答 0