PackageInfo:
获得方法:
PackageManager packageManager = context.getPackageManager();//返回packagemanager实例来找到 
 List allPackageInfos = packageManager 
 .getInstalledPackages(packageManager.GET_UNINSTALLED_PACKAGES 
 | packageManager.GET_ACTIVITIES);// 初始化时先要得到当前的所有进程 
 特点:常用字段: 
 public String packageName 包名 
 public ActivityInfo[] activities 所有节点信息 
 public ApplicationInfo applicationInfo 节点信息,只有一个 
 public ActivityInfo[] receivers 所有节点信息,多个 
 public ServiceInfo[] services 所有节点信息 ,多个通过 PackageInfo 获取具体信息方法: 
 包名获取方法:packageInfo.packageName 
 icon获取获取方法:packageManager.getApplicationIcon(applicationInfo) 
 应用名称获取方法:packageManager.getApplicationLabel(applicationInfo) 
 使用权限获取方法:packageManager.getPackageInfo(packageName,PackageManager.GET_PERMISSIONS).requestedPermissionsApplicationInfo:
获得方法:
List sysPackageInfos = new ArrayList();// 定义系统安装软件信息包 
 for (PackageInfo packageInfo : allPackageInfos)// 循环取出所有软件信息 
 { 
 ApplicationInfo applicationInfo = packageInfo.applicationInfo;// 得到每个软件信息}特点:
ApplicationInfo是从一个特定的应用得到的信息。这些信息是从相对应的Androdimanifest.xml的< application>标签中收集到的。 
 ApplicationInfo类 继承自 PackageItemInfo 
 说明:获取一个特定引用程序中节点的信息。 
 字段说明: 
     flags字段: FLAG_SYSTEM 系统应用程序 
        FLAG_EXTERNAL_STORAGE 表示该应用安装在sdcard中 
 常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()ResolveInfo:
获得方法:
Intent startIntent = new Intent(Intent.ACTION_MAIN, null);//为本startIntent设置行为为ACTION_MAIN 
 startIntent.addCategory(Intent.CATEGORY_LAUNCHER);//为本startIntent设置启动方式为LAUNCHER 
 startIntent.setPackage(packageInfo.getPkgName());//为本startIntent设置包名为packageInfo.getPkgName() 
 //以startIntent为查询条件查询出需要启动的App的信息 
 //功能 :返回给定条件的所有ResolveInfo对象(本质上是Activity),集合对象 
 List startInfoList = SoftManagementActivity.this 
 .getPackageManager().queryIntentActivities(startIntent, 0); 
 //如果startInfoList的长度小于1,则返回 
 if (startInfoList.size() < 1) 
 { 
 return; 
 } 
 //startInfoList中一般第一条就是启程App的信息 
 ResolveInfo startInfo = startInfoList.iterator().next();特点:
ResolveInfo这个类是通过解析一个与IntentFilter相对应的intent得到的信息。它部分地对应于从AndroidManifest.xml的< intent>标签收集到的信息。
ResolveInfo类 
 说明:根据节点来获取其上一层目录的信息,通常是、、节点信息。 
 常用字段: 
 public ActivityInfo activityInfo 获取 ActivityInfo对象,即或节点信息 
 public ServiceInfo serviceInfo 获取 ServiceInfo对象,即节点信息 
 常用方法: 
 Drawable loadIcon(PackageManager pm) 获得当前应用程序的图像 
 CharSequence loadLabel(PackageManager pm) 获得当前应用程序的label通过 
 ResolveInfo 获取具体信息方法: 
 包名获取方法:resolve.activityInfo.packageName 
 icon获取获取方法:resolve.loadIcon(packageManager) 
 应用名称获取方法:resolve.loadLabel(packageManager).toString()ActivityInfo:
获得方法:
ActivityInfo activityInfo = startInfo.activityInfo; 
 特点:ActivityInfo类 继承自 PackageItemInfo 
 说明: 获得应用程序中或者 节点的信息 。我们可以通过它来获取我们设置的任何属性,包括 
 theme 、launchMode、launchmode等 
 常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()