如何删除安装/重新安装应用程序上的应用程序数据,以便每次重新安装时都能拥有干净的工作环境? 我的意思是如何检测此应用程序已重新安装,以便我可以清理整个持久性存储。 感谢。
答案 0 :(得分:6)
在5.0 API中有一个名为CodeModuleListener的新类,您可以使用它来监视卸载模块的时间。但在5.0之前,没有钩子。但是,这里有一些想法和/或尝试的想法:
使用CodeModuleManager方法getModuleDownloadTimestamp()或getModuleTimestamp()(不确定哪一个会提供正确的信息)来查找模块的“安装时间”,然后将其存储在持久性中。然后每次启动应用程序时,再次从模块中读取值并将其与持久值进行比较。如果模块值较新,则重新安装应用程序。
如果您在Persistent Store(即Hashtable的子类)中存储非本机类,则在卸载应用程序时将从持久性存储中删除它(因为没有应用程序,该类没有意义) 。因此,您需要做的就是创建Hashtable的子类并将其存储在持久存储中(将您的实际数据作为键),并在用户卸载应用程序时自动从商店中删除。
答案 1 :(得分:0)
也许我误解了,但你的卸载程序不应该删除持久存储吗?一些卸载程序有一个复选框选项,允许用户控制他们的数据是否也被卸载,但绝对是卸载程序的工作,以便在必要时删除它