问题起因:想在Android程序运行时,获取AndroidManifest.xml中设置的版本名称,即android:versionName。
下面两个blog给出代码,做了解答;现将它们贴于此。
1.Android 应用程序获得版本号
/**
* 返回当前程序版本名称
*/
public static String getAppVersionName(Context context) {
String versionName = "";
try {
// Get the package info
PackageManager pm = context.getPackageManager();
PackageInfo pi = pm.getPackageInfo("com.google.apps.contacts", 0);
versionName = pi.versionName;
if (TextUtils.isEmpty(versionName)) {
return "";
}
} catch (Exception e) {
Log.e(THIS_FILE, "Exception", e);
}
return versionName;
}
2.在代码中获取在AndroidManifest.xml中配置的版本号
String versionname;// 版本号
try {
PackageManager pm = getPackageManager();
PackageInfo pi = pm.getPackageInfo("com.beem.project.beem", 0);
versionname = pi.versionName;// 获取在AndroidManifest.xml中配置的版本号
} catch (PackageManager.NameNotFoundException e) {
versionname = "";
}