我有一个应用程序,我将仅从网站部署它,而不是从PlayStore部署。 我想实现一些方法来检查我安装的版本是否是最后一个版本。
我在考虑存储Apk的哈希值,然后当我打开应用程序时,检查互联网/服务器中的哈希值是否与我安装的哈希值相同。
但Idk如何获取当前apk的哈希值。
我想知道这是否是一个很好的解决方案,或者是否有更好的方法来实现自动更新。
答案 0 :(得分:1)
不要担心计算哈希,因为您可以使用发布版本的AndroidManifest.xml中设置的应用程序版本(字符串)或版本代码(int)的值。
获取版本字符串(或versionCode),
String versionName;
int versionCode;
try {
PackageManager manager = getPackageManager();
PackageInfo packageInfo = manager.getPackageInfo(getPackageName(), 0);
if (packageInfo.versionName != null){
versionName = packageInfo.versionName;
versionCode = packageInfo.versionCode
}
} catch (NameNotFoundException ignore){
versionName = "unreleased"
versionCode = -1;
}
然后使用versionName
或versionCode
检查它是否与您服务器上的内容相同。