pee*_*mes 9 uuid storage android android-8.0-oreo
我因为一些琐碎的事情而失去了整整一天,但现在我只是放弃并需要你的帮助。
在用于读取应用程序代码/数据/缓存/大小的新 Oreo API 中,我们需要存储 UUID(StorageStatsManager.queryStatsForUid(UUID storageUuid, int uid))。
存储 UUID 可以从StorageManager.getStorageVolumes()获取,它返回所有存储的列表,其中也包含 UUID。
问题开始了:返回列表中的 UUID 是字符串格式,而StorageStatsManager.queryStatsForUid(UUID storageUuid, int uid)需要 UUID 对象 - 没有更简单的 - 存在方法UUID.fromString(String name)可以在一段时间内转换它。 . 但是等等,StorageManager 列表中的 UUID 值与 UUID 解析器不兼容 -什么?!我检查了 2 台设备(一台带奥利奥,一台带牛轧糖),都有外部存储器,每台设备我都有 2 个存储:
谁能解释一下我做错了什么,我应该如何获取外部存储的 UUID?或者只是新的 API StorageStatsManager.queryStatsForUid(UUID storageUuid, int uid)没用,因为我们无法获得存储 UUID?
供参考:
更重要的是还有另一个 StackOverflow 问题,其中将此 API 的使用标记为正确的解决方案:https : //stackoverflow.com/a/44708209/1946366是什么让我更加沮丧...
实际上,fromString(uuid_string) 采用一个“长”UUID(大约有 4 或 8 个部分,记不清了)。
然而,以下效果完美:
UUID.nameUUIDFromBytes(sv.getUuid().getBytes());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1748 次 |
| 最近记录: |