代码中的AndroidManifest.xml的用户版本名称值

AndroidManifest.xml包含应用程序的版本名称

 android:versionName="1.0" 

现在的问题 – 是不是有可能在源代码中访问这个版本名称,以便我可以在关于Dialog显示它?

如果您使用ADT和Eclipse:

 String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; 

如果您使用Gradle,则有一种更简单的方法,因为它会将数据放入BuildConfig中:

 String version = BuildConfig.VERSION_NAME; 

Konstantin的答案(上面)是正确的,但是如果我没有捕获到NameNotFoundException ,我发现我得到了一个编译器错误,如下所示:

 import android.content.pm.PackageManager.NameNotFoundException; try { String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; } catch (NameNotFoundException e) { Log.e("tag", e.getMessage()); }