首先,来个简单的,获取本应用的信息 :
//获取 build.gradle 中的 versionName 和 versionCode
try {
PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), 0);
String name = info.versionName;
int code = info.versionCode;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
是不是很简单 !
获取其他应用的信息
//获取已安装应用的列表
List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
if (packages.size() > 0) {
for (int i = 0; i < packages.size(); i++) {
PackageInfo packageInfo = packages.get(i);
String packageName = packageInfo.packageName; //app包名
String versionName = packageInfo.versionName; //app的versionName
int versionCode = packageInfo.versionCode; //app的versionCode
String appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString(); //app名
Drawable icon = packageInfo.applicationInfo.loadIcon(getPackageManager()); //app图标
if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
//非系统应用
} else {
//系统应用
}
}
}
判断某应用是否已安装
private boolean checkHasInstalled(String packageName) {
PackageInfo pi;
try {
pi = getPackageManager().getPackageInfo(packageName, 0);
} catch (PackageManager.NameNotFoundException e) {
return false;
}
return pi != null;
}
网友评论