2011-04-19 88 views

回答

6

我怎样才能做到这一点?

您无法检测到重新安装。幸运的是,除了在开发过程中,AFAIK绝不会发生这种情况。

要检测版本升级,请将您的versionCode的副本存储在首选项中。在代码启动时将其与正在运行的副本进行比较。如果您的应用程序比首选项中的versionCode更新,则您的应用程序已更新,您可以执行任何您认为需要的操作。

但请注意,这是非常不寻常的行为,如果用户因为升级而觉得自己正在丢失信息,则可能会给您提供较差的市场评级。

+0

感谢您的回复!我只是在首选项文件中存储了一些值,其副本保存在我的服务器端。但是,重新安装应用程序时,这些值会发生变化。但是在更新时无法删除共享首选项文件。用户不会丢失任何信息,因为这些信息存储在服务器端,一旦应用程序重新安装,它将从服务器获取。 – 2011-04-19 19:04:53

+0

@Prateek Jain:让我再说一遍:普通用户没有“重新安装”。用户将卸载该应用程序,然后安装新的应用程序。卸载行为将删除您的SharedPreference数据。您将需要自己处理delete-file-on-update,因为绝大多数Android应用程序都不应该这样做。 – CommonsWare 2011-04-19 19:11:14

+0

明白了!我想删除将应用程序更新到更新版本的共享首选项文件,我可以使用您建议的检查“版本代码”的方法来执行此操作。谢谢 !! – 2011-04-19 19:21:54

相关问题