public class AppVersionUtil {
public static String getAppVersionName(Context context) {
String versionName = "";
try {
PackageManager pm = context.getPackageManager();
PackageInfo p1 = pm.getPackageInfo(context.getPackageName(), 0);
versionName = p1.versionName;
if (TextUtils.isEmpty(versionName) || versionName.length() <= 0) {
return "";
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return versionName;
}
public static int getAppVersionCode(Context mContext) {
int versionCode = 0;
try {
//获取软件版本号,对应AndroidManifest.xml下android:versionCode
versionCode = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0).versionCode;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return versionCode;
}
//获取apk相关信息,直接在用的地方写就可,不用调用这个方法
public static void apkInfo(String path,Context pContext){
PackageManager manager = pContext.getPackageManager();
PackageInfo info = manager.getPackageArchiveInfo(path, PackageManager.GET_ACTIVITIES);
if(info != null){
ApplicationInfo applicationInfo = info.applicationInfo;
applicationInfo.sourceDir = path;
applicationInfo.publicSourceDir = path;
String appName = manager.getApplicationLabel(applicationInfo).toString();// 得到应用名
String packageName = applicationInfo.packageName;// 得到包名
String versionName = info.versionName; // 得到版本信息
}
}
}