Android Jetpack WorkManager数据保留策略

Android Jetpack WorkManager数据保留策略,android,android-jetpack,android-workmanager,Android,Android Jetpack,Android Workmanager,我想用新的WorkManager来代替电话遥测发送器的服务实现(用Android O来抱怨)。现在,它本质上是一个绑定服务,尝试实时发送遥测数据,但如果网络出现故障,它会将记录保存到数据库中,然后在网络恢复时将记录重放到服务器上。这几乎就是WorkManager在约束条件下可以完成的任务的定义 我的问题是安全问题。我的数据库是加密的,当用户注销或要求擦除他们的数据时,它也会被完全擦除。WorkManager由房间数据库支持,并将所有有效负载数据存储在clear中。更糟糕的是,他们似乎没有透露你可

我想用新的WorkManager来代替电话遥测发送器的服务实现(用Android O来抱怨)。现在,它本质上是一个绑定服务,尝试实时发送遥测数据,但如果网络出现故障,它会将记录保存到数据库中,然后在网络恢复时将记录重放到服务器上。这几乎就是WorkManager在约束条件下可以完成的任务的定义

我的问题是安全问题。我的数据库是加密的,当用户注销或要求擦除他们的数据时,它也会被完全擦除。WorkManager由房间数据库支持,并将所有有效负载数据存储在clear中。更糟糕的是,他们似乎没有透露你可以随心所欲地删除这些记录。相反,它们提供的取消功能实际上只是将列状态设置为“已取消”。我找不到能够解释克服这一问题的方法的文档或代码路径。有人有机会经常去图书馆吗?也许我错过了什么


谢谢

根据,WorkManager不是您的数据存储。您应该继续将数据存储在自己的数据库中。

根据,WorkManager不是您的数据存储。您应该继续将数据存储在您自己的数据库中。

那么,您是否应该将一个Id传递给您自己的索引存储,而不是将打包的数据传递给输入?即使在“快乐路径”中,您也必须进行db读取,对吗?这是正确的-您不能将包裹传递到WorkManager的
数据
类中,因此在任何情况下您都希望使用这种方法。啊,我明白了。我认为使用Yigit的Android优先作业队列这么长时间让我感到困惑。谢谢请快速回答一个问题:即使在重新启动后,strorage中传递给工作管理器的记录的索引是否仍保持不变?@PaulOkeke-WorkManager确实会在重新启动时保持工作状态,是的。那么,不是传递包裹数据来输入,而是将Id传递给您自己的索引存储?即使在“快乐路径”中,您也必须进行db读取,对吗?这是正确的-您不能将包裹传递到WorkManager的
数据
类中,因此在任何情况下您都希望使用这种方法。啊,我明白了。我认为使用Yigit的Android优先作业队列这么长时间让我感到困惑。谢谢快速一点,请问在重新启动后,传递给工作管理器的strorage中记录的索引是否仍然存在?@PaulOkeke-WorkManager确实在重新启动后仍然存在工作,是的。也许我很困惑。Work manager中的WorkSpec类定义了一个房间图层,用于保存排队的任务。它将需要这一点来保证以后由操作系统执行。你是说有一个API可以注入WorkManager我自己的db提供者吗?是的。也许我很困惑。Work manager中的WorkSpec类定义了一个房间图层,用于保存排队的任务。它将需要这一点来保证以后由操作系统执行。你是说有一个API可以注入WorkManager我自己的db提供者吗?