尝试在android中查看意图和动作并查看documentation。 但我一直看到的是一个定义了多个动作的intent过滤器。像这样,从上面的链接:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />
</intent-filter>
但是,如果你打电话给那个活动,它如何选择选择哪个行动?
就此而言,链接到示例的多个活动都包含相同的操作,例如“android.intent.action.VIEW”。用内容调用此内容时://com.google.provider.NotePad/notes如何知道要使用哪个活动?
答案 0 :(得分:15)
但是,如果你打电话给那个活动,怎么做 它选择选择哪个动作?
Intent
有一个动作。如果该操作与Intent
过滤器中的三个匹配中的一个匹配,并且类别匹配,并且匹配MIME类型,那么它将与整个Intent
过滤器匹配,并将启动该活动。
换句话说,多个动作(或任何其他元素)是逻辑OR。
就此而言,与之相关 示例有多个活动 都包含相同的动作, “android.intent.action.VIEW”for 示例
通常Intent
过滤器中有一些内容可以区分不同的内容。
用类似的东西来调用它 内容://com.google.provider.NotePad/notes 它怎么知道哪个活动 使用?
它询问内容提供商,“哟,dawg - 这是什么MIME类型,哟?”。根据内容提供商提供的MIME类型,它可以找到任何匹配的Intent
过滤器。