在开发Android应用时,有时候需要获取本应用的版本号和版本名称,比如应用升级的时候,一般是对比版本号,就是在Manifest.xml中看到VersionCode和VersionName
我这里是把几个方法分开写了,具体的获取方法如下:
/** * 获得本应用版本号 * @author YOLANDA * @param context * @return 返回版本号 */ public static int getMYVersionCode(Context context) { int versionCode = 0; try { PackageInfo pi = getPackageInfoByPackage(context, context.getPackageName()); versionCode = pi.versionCode; } catch (Exception e) { } return versionCode; } /** * 获得应用版本名称 * @author YOLANDA * @param context * @return */ public static String getMYVersionName(Context context) { String versionName = ""; try { PackageInfo pi = getPackageInfoByPackage(context, context.getPackageName()); versionName = pi.versionName; } catch (Exception e) { } return versionName; } /** * 按已安装程序报名获取包信息 * @author YOLANDA * @param context * @param packageName 已安装程序的包名 * @return */ public static PackageInfo getPackageInfoByPackage(Context context, String packageName) { PackageInfo packageInfo = null; try { packageInfo = context.getPackageManager().getPackageInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); } catch (NameNotFoundException e) { e.printStackTrace(); } return packageInfo; }