【发布时间】:2013-07-16 22:12:00
【问题描述】:
根据 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);
如果未指定任何操作,intent 解析是否会返回带有上述过滤器的活动?
谢谢!
【问题讨论】: