//得到PackageManager对象
PackageManager pm = getPackageManager();
//得到系统安装的所有程序包的ApplicationInfo对象
//List<ApplicationInfo> packs = pm.getInstalledApplications(0);
//得到系统安装的所有程序包的PackageInfo对象
List<PackageInfo> packs = pm.getInstalledPackages(0);
for(PackageInfo pi:packs){
HashMap<String, Object> map = new HashMap<String, Object>();
// //显示用户安装的应用程序,而不显示系统程序
// if((pi.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)==0&&
// (pi.applicationInfo.flags&ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)==0){
// //这将会显示所有安装的应用程序,包括系统应用程序
// map.put("icon", pi.applicationInfo.loadIcon(pm));//图标
// map.put("appName", pi.applicationInfo.loadLabel(pm));//应用程序名称
// map.put("packageName", pi.applicationInfo.packageName);//应用程序包名
//
// //循环读取并存到HashMap中,再增加到ArrayList上,一个HashMap就是一项
// items.add(map);
// }
//这将会显示所有安装的应用程序,包括系统应用程序
map.put("icon", pi.applicationInfo.loadIcon(pm));//图标
map.put("appName", pi.applicationInfo.loadLabel(pm));//应用程序名称
map.put("packageName", pi.applicationInfo.packageName+"::"+pi.applicationInfo.className);//应用程序包名
System.out.println(pi.applicationInfo.packageName+"::"+pi.applicationInfo.className);
Log.i("dingchao", pi.applicationInfo.packageName+"::"+pi.applicationInfo.className);
//循环读取并存到HashMap中,再增加到ArrayList上,一个HashMap就是一项
items.add(map);
//通过包管理来启动应用
//mIntent = pm.getLaunchIntentForPackage(pi.applicationInfo.packageName);
//startActivity(mIntent);
Android包管理
最新推荐文章于 2022-07-17 16:28:50 发布