android ResolveInfo运用

ResolveInfo介绍:

IntentFilter的意图对解决所传回的信息。这部分收集的信息在AndroidManifest.xml的<intent>标签的对应。

例如:

<intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="com.action.resolveinfo"/>
            </intent-filter>

通过ReslveInfo我们就可以轻松找到设置了这两个标签的Activity:

Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
        mainIntent.addCategory("com.action.resolveinfo");

        PackageManager pm = getPackageManager();
        List<ResolveInfo> list = pm.queryIntentActivities(mainIntent, 0);
就得到了ResolveInfo的集合,我们就可以获取到每个Activity的信息了!

通过 ResolveInfo 获取具体信息方法:

Activity获取方法:resolve.activityInfo.name

Activity包名获取方法:resolve.activityInfo.packageName

App包名获取方法:resolve.activityInfo.applicationInfo.packageName

icon获取获取方法:resolve.loadIcon(packageManager)
应用名称获取方法:resolve.loadLabel(packageManager).toString()


你可能感兴趣的:(android ResolveInfo运用)