如何实现对我的应用程序的自动更新?

时间:2015-04-27 16:38:43

标签: android deployment

我有一个应用程序,我将仅从网站部署它,而不是从PlayStore部署。 我想实现一些方法来检查我安装的版本是否是最后一个版本。

我在考虑存储Apk的哈希值,然后当我打开应用程序时,检查互联网/服务器中的哈希值是否与我安装的哈希值相同。

但Idk如何获取当前apk的哈希值。

我想知道这是否是一个很好的解决方案,或者是否有更好的方法来实现自动更新。

1 个答案:

答案 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;
}

然后使用versionNameversionCode检查它是否与您服务器上的内容相同。