关键点:包名
// 获取已安装APK的版本号
// packageName:apk的包名
public static String getInstallAPKInfo(Context context, String packageName)
{
String versionName = "";
try
{
PackageManager pm = context.getPackageManager();
PackageInfo pakinfo = pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
if (pakinfo != null)
{
versionName = pakinfo.versionName;
}
}
catch (Exception e)
{
e.printStackTrace();
}
return versionName;
}
// 获取未安装APK的版本号
// archiveFilePath:apk存放的路径
public static String getUninstallAPKInfo(Context context, String archiveFilePath)
{
String versionName = "";
try
{
PackageManager pm = context.getPackageManager();
PackageInfo packageinfo = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);
if (packageinfo != null)
{
versionName = packageinfo.versionName;
}
}
catch(Exception e)
{
e.printStackTrace();
}
return versionName;
}
// 获取当前应用的版本号
public static String getVersionName(Context context)
{
if(!StringUtil.isEmptyOrNull(mStrVersionName))
{
return mStrVersionName;
}
try
{
// getPackageName()是你当前类的包名,0代表是获取版本信息
PackageManager packageManager = context.getPackageManager();
PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
mStrVersionName = packInfo.versionName;
}
catch (Exception e)
{
e.printStackTrace();
mStrVersionName = "0.0.0";
}
return mStrVersionName;
}