2011-08-03 150 views
0

我正在构建一个SDK,我有一个名为mainClass的类,所以在应用程序MainActivity中,我让开发人员(使用SDK)在mainClass构造函数中传递类似应用程序键的数据,然后调用将启动的注册函数注册服务仅在应用程序第一次打开时(使用首选项)。如何知道Android应用程序是否被重新部署?

问题是,当开发人员更改应用程序密钥并再次部署应用程序(使用新的应用程序密钥)时,应用程序的首选项(appFirstOpen = false)停留在那里,注册新的应用程序密钥将不会通过。 我想过检查应用程序密钥是否在构造函数中改变,但它看起来像一个开销。是否有知道应用程序是否重新部署以清除偏好或是否有其他方式来解决此问题。

+0

您的SDK或程序员是否管理首选项? –

+0

SDK正在管理首选项。 – Jimmy

+0

您是否可以根据App ID创建您的偏好? –

回答

0

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

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

相关问题