我想使用新的 WorkManager 来替换电话遥测发送器的服务实现(与 Android O 抱怨)。现在它本质上是一个绑定服务,它尝试实时发送遥测数据,但如果网络出现故障,它会将记录保存到数据库中,稍后在网络恢复时将其重播到服务器。几乎是 WorkManager 可以使用约束完成的定义。
我遇到的麻烦是安全问题之一。我的数据库是加密的,当用户注销或要求擦除他们的数据时,它也会被完全擦除。WorkManager 由 Room db 支持,并以明文形式存储所有有效负载数据。更糟糕的是,他们似乎没有公开随心所欲地删除这些记录的能力。相反,他们提供取消,实际上只是将列状态设置为 CANCELLED。我找不到可以解释克服此问题的方法的文档或代码路径。有没有人有机会探索图书馆?也许我错过了一些东西。
谢谢