如何知道是否重新部署了Android应用?

时间:2011-08-03 16:36:27

标签: android

我正在构建一个SDK,我有一个名为mainClass的类,所以在应用程序MainActivity中我让开发人员(使用SDK)在mainClass构造函数中传递app键之类的数据,然后调用register函数仅在应用程序第一次打开时启动注册服务(使用首选项)。

问题是,当开发人员更改应用密钥并再次部署应用程序时(使用新的应用程序密钥),应用程序的首选项(appFirstOpen = false)将保留在那里,并且注册新的应用程序密钥将无法通过。 我考虑过检查构造函数中是否更改了app键,但这似乎是一种开销。是在那里知道应用程序是否已被重新部署以清除首选项,或者是否有其他方法可以通过此问题。

1 个答案:

答案 0 :(得分:0)

要回答标题中的问题,不会有新的部署标志。因此,您必须检查其他因素,例如应用程序ID,应用程序或系统中的PackageInfoApplicationInfo。如果您只想擦除应用程序的数据,可以手动清除设置中的数据 - >应用程序,或者每次使用SharedPreferences.Editor.clear()擦除首选项数据。

当相同的应用程序针对新的应用ID运行时,您似乎遇到了问题。这对我来说,使用检查应用程序ID的开销是值得做的。我建议每个应用程序ID有一个首选项文件,它将能够处理appFirstOpen条件。