Android根据包名加载指定的应用程序
- Java code
// 得到PackageManager对象 PackageManager pm = getPackageManager(); // 得到系统 安装的所有程序包的PackageInfo对象 List<PackageInfo> packs = pm.getInstalledPackages(0); 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); // 循环读取存到HashMap,再增加到ArrayList.一个HashMap就是一项 items.add(map); }上面这段是加载所有的应用程序,该如何修改才能加载出我指定的几个应用程序,比如说把应用程序的包名写进去,就会加载出相对应的应用程序,如果是要写10个包名,应该怎么写呢,求大神解答
[解决办法]
恕在下愚昧,用pi.packageName和您自己想显示的包名做比较,不equal不添加到items不可以吗?。。。没有做过,不知道是不能比较还是怎么的?
[解决办法]
把你要显示的包名放到一个list列表里,当list包含pi.packageName时,放进你的items里面