在运行时检测我的应用程序自己的android:versionCode

有没有办法让我的应用程序从AndroidManifest.xml知道android:versionCode还是我必须在我的一个类中创build一个单独的常量?

我把它放在我的子类android.app.Application中,但是你可以在任何你有上下文的地方使用它。 只要将getPackageManager()更改为context.getPackageManager()即可。

public int getVersion() { int v = 0; try { v = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode; } catch (NameNotFoundException e) { // Huh? Really? } return v; } 

是的,你可以通过PackageManager.getPackageInfo访问这个信息

另外,请参阅文档中有关版本控制的详细信息

您可以简单地从<package_name>.BuildConfig#VERSION_CODE引用获取版本代码。 它由ADT插件/ Intellij生成。