ApplicationInfo,ResolveInfo,PackageManager

ApplicationInfo: Information you can retrieve about a particular application. This corresponds to information collected from the AndroidManifest.xml's application
                       根据AndroidManifest.xml文件中的标签“application” 检索到特定的应用,包含activity,broadcast,service,provider。

ResolveInfo:     Information that is returned from resolving an intent  against an IntentFilter. This partially corresponds to information collected from the AndroidManifest.xml's intent

                       根据AndroidManifest.xml文件中的标签“ intent” 检索到特定的应用。

PackageManager: Class for retrieving various kinds of information related to the application packages that are currently installed on the device.

                       这个类关联了所有已经安装在手机上的应用,可以利用这个类的对象获取上面两种信息。

 1 代码:
 2 
 3 PackageManager manager = getPackageManager();
 4 
 5 //Return a List of all application packages that are installed on the  device. 获取所有已经安装的应用的信息。
 6 List< ApplicationInfo> appList = manager.getInstalledApplications(PackageManager.GET.UNINSTALLED_PAKAGES);
 7 
 8 // Retrieve all activities that can be performed for the given intent.仅仅是获取所有符合指定intent-filter的activity
 9 
10 Intent intent = new Intent(Intent.A CTION_MAIN,null);
11 intent.addCategory(Intent.CATEGORY_LAUNCHER);
12 List< ResolveInfo> activityList = manager.queryIntentActivities(intent,0);

拿到上面信息后,可以得到应用的icon ,label等。

              

原文地址:https://www.cnblogs.com/mogul/p/2981407.html