【发布时间】:2013-05-28 07:30:43
【问题描述】:
当我们在 android manifest 中使用版本代码时。
当用户安装了新版本的apk,如何防止用户安装旧版本的apk?
或者至少给他一些提示,例如“您正在使用旧版本的应用程序覆盖新版本”?
【问题讨论】:
标签: android installation version
当我们在 android manifest 中使用版本代码时。
当用户安装了新版本的apk,如何防止用户安装旧版本的apk?
或者至少给他一些提示,例如“您正在使用旧版本的应用程序覆盖新版本”?
【问题讨论】:
标签: android installation version
用户不能同时安装两个版本的应用程序。所以不用担心预防。
虽然 ADB 可以做到这一点,但这会用新的应用程序替换以前的应用程序。
【讨论】:
您不能在较新的应用程序上安装旧版本的应用程序。 Android 不允许您这样做。所以不用担心他的。
【讨论】:
你可以在应用启动时查看应用版本,然后与服务器提供的版本进行比较,你可以简单地将它存储在后端服务器的txt或json中,然后在应用启动时,你可以比较两者版本。如果应用版本低于服务器报告的版本,则通过消息和指向新 apk 的链接警告用户,或阻止应用的使用。
您可以像这样在 Android 中获取应用代码或版本:
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PackageManager;
...
final PackageManager packageManager = this.reactContext.getPackageManager();
final String packageName = this.reactContext.getPackageName();
try {
String version = packageManager.getPackageInfo(packageName, 0).versionName;
String buildNumber = packageManager.getPackageInfo(packageName, 0).versionCode;
catch (NameNotFoundException e) {
// Handle error
}
【讨论】: