Detect my app's own android:versionCode at run time

后端 未结 3 2035
[愿得一人]
[愿得一人] 2021-02-11 13:52

Is there a way for my app to know the android:versionCode from AndroidManifest.xml or do I have to create a separate constant in one of my classes?

相关标签:
3条回答
  • 2021-02-11 14:32

    Yes, you can access this information via PackageManager.getPackageInfo

    Also, see details about versioning in the documentation

    0 讨论(0)
  • 2021-02-11 14:32

    I put this in my subclassed android.app.Application but you can use it anywhere you have a context. Just change getPackageManager() to context.getPackageManager().

    public int getVersion() {
        int v = 0;
        try {
            v = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
        } catch (NameNotFoundException e) {
            // Huh? Really?
        }
        return v;
    }
    
    0 讨论(0)
  • 2021-02-11 14:49

    You can get version code simply from <package_name>.BuildConfig#VERSION_CODE reference. It is generated by ADT plugin/Intellij.

    0 讨论(0)
提交回复
热议问题