阅读文档,但不清楚清单中DEAFAULT类别的用途。是否可以在同一清单中使用DEFAULT类别属性的多个intent-filter?
答案 0 :(得分:3)
是的,可以有多个。从这里的文档中可以看出为什么需要默认类别:
*注意:为了接收隐式意图,您必须在intent过滤器中包含CATEGORY_DEFAULT类别。方法startActivity()和startActivityForResult()将所有意图视为已声明CATEGORY_DEFAULT类别。如果您未在意图过滤器中声明此类别,则不会将隐式意图解析为您的活动。* - http://developer.android.com/guide/components/intents-filters.html
具有默认类别的多个intent过滤器的示例:
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="myscheme"/>
</intent-filter>
答案 1 :(得分:0)
是否可以在同一清单中使用多个具有DEFAULT类别属性的intent-filter?
不确定。大多数具有<intent-filter>
的活动都会支持DEFAULT
类别,因为如果Intent
上没有其他类别,该类别会自动添加到与startActivity()
一起使用的Intent
1}}已经。
例如,在the manifest for the AOSP Music app中,您可以看到各种<activity>
元素,包含和不包含<intent-filter>
元素。那些<intent-filter>
的人可能会也可能不会使用DEFAULT
。