在运行时获取Android应用程序版本代码(主要,次要和补丁)

时间:2015-06-12 09:45:03

标签: android

如何在运行时获取应用版本代码?我找到了许多解决方案来将应用程序版本作为单个整数。但是我需要版本代码的major.minor.patch版本。

2 个答案:

答案 0 :(得分:3)

这意味着要获得遵循semantic versioning原则的versionName

获取versionName

packageManager.getPackageInfo(packageName(), PackageManager.GET_META_DATA)
    .versionName; // throws NameNotFoundException

解析versionName

// check versionName against ^\d+\.\d+\.\d+$
final String[] versionNames = versionName.split("\\.");
final Integer major = Integer.valueOf(versionNames[0]);
final Integer minor = Integer.valueOf(versionNames[1]);
final Integer patch = Integer.valueOf(versionNames[2]);

确保处理所有可能的错误。

答案 1 :(得分:1)

你通过这种方式得到它

PackageManager manager = context.getPackageManager();
    PackageInfo info = manager.getPackageInfo(
        context.getPackageName(), 0);
    String version = info.versionName;
    int code = info.versionCode;