方法很多,先列出几个,以后有空了再慢慢补充。
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});