根据 Android 文档 ( http://developer.android.com/guide/components/intents-filters.html ):“另一方面,不指定动作的 Intent 对象会自动通过测试——只要因为过滤器至少包含一项操作。” 和“Intent 对象中的每个类别都必须匹配过滤器中的类别。过滤器可以列出其他类别,但不能省略意图中的任何类别。”
我有一个意图过滤器声明如下:
<intent-filter>
<action android:name="my.custom.action" />
<category android:name="my.custom.category" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
根据上面的规则,我希望这个过滤器的父活动用下面的代码返回,但它不是:
List<ResolveInfo> list = getPackageManager().queryIntentActivities(
new Intent().addCategory("my.custom.category"),
PackageManager.MATCH_DEFAULT_ONLY + PackageManager.GET_RESOLVED_FILTER);
如果未指定任何操作,意图解析是否会返回带有上述过滤器的活动?
谢谢!