2

有什么方法可以检测到在 android.xml 中安装的应用程序的先前版本。

例如,我有一个 android 应用程序。在这个 android 应用程序的早期版本中,我使用了自动生成的 UUID。现在我们在该应用程序的下一个版本中进行了更改,并在 UUID 的位置使用 ANDROID_ID。现在假设用户将应用程序从旧版本升级到新版本,在这种情况下,我想检测手机上是否安装了以前版本的应用程序,以及是否安装了以前安装的应用程序的版本名称。

任何帮助将不胜感激

4

2 回答 2

2

由于以前的开发人员没有更新版本名称,您可能会使用应用程序的最后更新时间。如果它比要求的旧,则更新它。

PackageInfo 类具有 lastUpdateTime 属性。在这里如何使用它:

private Date getLastUpdateTime() {
    PackageInfo pi;
    try {
        pi = getPackageManager().getPackageInfo(getPackageName(), 0);
        Date resultdate = new Date(pi.lastUpdateTime);
        return resultdate;
    } catch (final NameNotFoundException e) {
        return null;
    }
}
于 2012-11-15T09:44:33.663 回答
0

如果您的应用程序已更新。您的旧版本已被替换。但是共享偏好必须保留(如果用户没有清除应用数据)。

检查您是否可以从共享首选项中读取 UUID YES 新版本 NO 旧版本。因此,您可以大致检测到安装的版本。

于 2012-11-15T08:14:17.907 回答