方法很多,先列出几个,以后有空了再慢慢补充。
1.
List<PackageInfo> packs = pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES); // 得到系统 安装的所有程序包的PackageInfo对象 for (PackageInfo pi : packs) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("icon", pi.applicationInfo.loadIcon(pm)); // 图标 map.put("appName", pi.applicationInfo.loadLabel(pm)); // 应用名 map.put("packageName", pi.packageName); // 包名 items.add(map); // 循环读取存到HashMap,再增加到ArrayList.一个HashMap就是一项 } adapter = new Adapter(this, items, R.layout.piitem, new String[] {"icon", "appName", "packageName"}, new int[] { R.id.icon, R.id.appName, R.id.packageName});