3

我测试了Android可以将newVersion<传递oldVersionSQLiteOpenHelper.onUpgrade()方法,即。它希望应用程序降级其数据库。

我不想处理这种情况,尽管我想以某种方式通知用户我的应用程序存在一个较新版本(她显然以前安装过),而这正是她应该使用的。

任何想法什么是实现这一目标的最佳方法?Toast? AlertDialog(但在什么情况下)?

4

2 回答 2

2

实际上,您可以使用比“旧”版本更小的“新”版本来调用该方法,但是什么时候会发生呢?

除非您希望您的用户手动重新安装您的应用程序,用较早的 APK 覆盖它,否则无需考虑这一点。

于 2010-02-02T20:10:07.873 回答
-1

我们的应用程序有多个活动分支(例如 v1.x 和 v2.x),并且我们在内部发布版本进行测试。这意味着测试人员偶尔会在新版本之上安装旧版本。

在这种情况下优雅地应对是个好主意(一个有用的错误弹出窗口、数据库被炸毁等),否则测试人员会看到“强制退出”消息,然后我们必须查看adb logcat日志以确认这是由于版本不匹配。

最初我担心在其他合理的情况下可能会发生这种情况,例如在 Android Market 中重新激活旧版本时(例如由于新版本中的灾难性错误)。

但是,Android 文档似乎说您不能激活旧版本:

您无法激活版本代码低于其要替换的 APK 的新 APK。

因此,要达到这种情况,您需要先使用新版本号重建旧版本,然后才能激活它。IMO 仍然值得应对这种情况,因为有人很容易在凌晨 4 点犯这个错误,同时试图退出一个糟糕的版本!

于 2012-02-17T18:29:06.953 回答