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

标签 android

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

最佳答案

这意味着获取 semantic versioning 之后的 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]);

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

关于android - 在运行时获取 android 应用程序版本代码(主要、次要和补丁),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30800040/

相关文章:

android - 平板电脑上的 Google Play 错误,您的设备与此版本不兼容

Android 位置监听器不起作用

android - 找不到默认 Activity (Android Studio 0.6.1)

Android 日历 : created an event using intent , 但它不会返回到我的 Activity

java - 将 InputStream 转换为 JSONObject

java - Android 致命信号 11 (SIGSEGV),代码 1,tid 29092 中的故障地址 0x0

android - 错误 : RuntimeException at DisplayListCanvas. throwIfCannotDraw

java - 部署 Android 应用程序时,Java 断言是否始终包含在二进制文件中?

android - 了解自定义 android 启动器

java - 如何解决运行时错误 "Access denied finding property"?