一、得到所有应用程序的信息
//1.0得到包管理类
PackageManager pm = context.getPackageManager();
//2.0得到手机上已安装的所有应用程序的的基本信息
List<PackageInfo> packInfos = pm.getInstalledPackages(0);
//循环遍历得到每个程序的基本信息
for (PackageInfo packageInfo : packInfos) {
// packageInfo相当于得到一个应用程序的清单文件
//得到包名
String packageName = packageInfo.packageName;
//版本号
int versionCode = packageInfo.versionCode;
//版本名
String versionName = packageInfo.versionName;
//应用程序的图标
Drawable icon = packageInfo.applicationInfo.loadIcon(pm);
//应用程序的名称
String name = packageInfo.applicationInfo.loadLabel(pm).toString();
}
二、得到当前程序的基本信息
/**
* 获取应用程序的版本名称
*/
private String getVersionName() {
try {
PackageManager pm = getPackageManager();
PackageInfo info = pm.getPackageInfo(getPackageName(), 0);
return info.versionName;
} catch (NameNotFoundException e) {
e.printStackTrace();
return "";
}
}