2011.07.06(2)——— android apiDemos 之 ResolveInfo
参考:[url]http://maxuefeng.blog.51cto.com/1876326/528680[/url]
如上所示的一个ActionManifest.xml 则:
则 结果为:
参考:[url]http://maxuefeng.blog.51cto.com/1876326/528680[/url]
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.apis">
<application android:name="ApiDemosApplication"
android:label="@string/activity_sample_code"
android:icon="@drawable/app_sample_code" >
<activity android:name="ApiDemos">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".app.HelloWorld" android:label="@string/activity_hello_world">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.SAMPLE_CODE" />
</intent-filter>
</activity>
<activity android:name=".app.DialogActivity"
android:label="@string/activity_dialog"
android:theme="@android:style/Theme.Dialog">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.SAMPLE_CODE" />
</intent-filter>
</activity>
如上所示的一个ActionManifest.xml 则:
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_SAMPLE_CODE);
PackageManager pm = getPackageManager();
List<ResolveInfo> list = pm.queryIntentActivities(mainIntent, 0);
for (int i = 0; i < len; i++) {
ResolveInfo info = list.get(i);
CharSequence labelSeq = info.loadLabel(pm);
System.out.println("===="+labelSeq.toString()+"===="+info.activityInfo.name+"=========="+info.activityInfo.applicationInfo.packageName);
}
则 结果为:
=App/Activity/HelloWorld====com.example.android.apis.app.HelloWorld==========com.example.android.apis
=App/Activity/Dialog====com.example.android.apis.app.DialogActivity==========com.example.android.apis