有没有办法在android中检测已安装应用程序的先前版本。
例如我有一个Android应用程序。在此Android应用程序的先前版本中,我使用了自动生成的UUID。现在我们在此应用程序的下一个版本中进行了更改,并在UUID的位置使用了ANDROID_ID。现在假设用户将应用程序从旧版本升级到新版本,在这种情况下,我想检测是否在手机上安装了以前版本的应用程序,如果安装了以前安装的应用程序的版本名称。
任何帮助都将受到高度赞赏
答案 0 :(得分: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;
}
}
答案 1 :(得分:0)
如果您的应用已更新。您的旧版本已被替换。但共享偏好必须保留(如果用户没有清除应用数据)。
检查您是否可以从共享首选项中读取UUID是新版本否旧版本。因此,您可以大致检测到安装的版本。