Android 中獲取已經安裝的應用列表
阿新 • • 發佈:2019-01-30
1、獲取系統應用資訊
private void getPackages() {
// 獲取已經安裝的所有應用, PackageInfo 系統類,包含應用資訊
List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
for (int i = 0; i < packages.size(); i++) {
PackageInfo packageInfo = packages.get(i);
if ((packageInfo.applicationInfo .flags&ApplicationInfo.FLAG_SYSTEM) == 0) { //非系統應用
// AppInfo 自定義類,包含應用資訊
AppInfo appInfo = new AppInfo();
appInfo.setAppName(
packageInfo.applicationInfo.loadLabel(getPackageManager()).toString());//獲取應用名稱
appInfo.setPackageName (packageInfo.packageName); //獲取應用包名,可用於解除安裝和啟動應用
appInfo.setVersionName(packageInfo.versionName);//獲取應用版本名
appInfo.setVersionCode(packageInfo.versionCode);//獲取應用版本號
appInfo.setAppIcon(packageInfo.applicationInfo.loadIcon(getPackageManager()));//獲取應用圖示
System.out .println(appInfo.toString());
mData.add(appInfo);
} else { // 系統應用
}
}
}
2、執行效果