我测试过Android可以通过newVersion
< oldVersion
到SQLiteOpenHelper.onUpgrade()
方法,即。它希望应用程序降级其数据库。
我不想处理这种情况,虽然我想以某种方式通知用户我的应用程序的更新版本(她显然已经安装过),这就是她应该使用的版本。
任何想法最好的方法是什么? Toast
? AlertDialog
(但在什么情况下)?
答案 0 :(得分:2)
事实上,您可以使用小于“旧”版本的“新”版本调用该方法,但什么时候会发生?
除非您希望用户手动重新安装您的应用,使用之前的APK覆盖它,否则无需考虑这一点。
答案 1 :(得分:-1)
我们的应用程序有多个活动分支(例如v1.x和v2.x),我们在内部提供版本以进行测试。这意味着测试人员偶尔会将旧版本安装在较新版本的顶部。
在这种情况下优雅地应对(一个有用的错误弹出窗口,吹掉数据库等)是个好主意,否则测试人员会看到“强制退出”消息,然后我们必须查看{{1 }}日志以确认这是由于版本不匹配造成的。
最初,我担心还有其他合理的情况会发生这种情况,例如:在Android Market中重新激活旧版本时(例如,由于新版本中的灾难性错误)。
但是,Android docs似乎表示您无法激活旧版本:
您无法激活版本代码低于其替换版APK的新APK。
因此,要启用此方案,您需要使用新版本号重建旧版本,然后才能激活它。国际海事组织仍然值得应对这种情况,因为有人可能会在凌晨4点轻易犯这个错误,同时试图退出不良版本!