2011-02-04 22 views
0

在我看来,如果使用隐式的无类别意图调用startActivity,则只能启动具有指定默认类别(android.intent.category.DEFAULT)的意图过滤器的活动。具有隐式无类别意图的startActivity

如果我们使用startService而不是startActivity,则在服务的意图过滤器中不需要此类别。

大家看到相同的行为吗?

它是否在Android官方文档中有记载?

回答

0

我认为这是记录。

参见http://developer.android.com/reference/android/content/Intent.html

类别,如果提供,必须全部 由活性 类别它处理列出。也就是说,如果你 包括类别 CATEGORY_LAUNCHER和 CATEGORY_ALTERNATIVE,那么你将 只能解析到与 意图,列出这两个 类别的组件。 活动将经常需要 支持CATEGORY_DEFAULT ,以便可以通过 Context.startActivity()找到它们。

我的经验是,如果在intent中显式设置了类,那么可以使用startActivity()来使用无类别的活动。在那种情况下,没有意图匹配完成。

相关问题