意图过滤器中的多个实例

时间:2014-09-11 18:28:03

标签: android android-intent

我试图了解android中意图的工作原理。根据文档,对于接收意图的应用程序,它必须通过过滤器中的所有三个功能。来自Google文档:

<activity android:name="MainActivity">
<!-- This activity is the main entry, should appear in app launcher -->
<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name="ShareActivity">
<!-- This activity handles "SEND" actions with text data -->
<intent-filter>
    <action android:name="android.intent.action.SEND"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="text/plain"/>
</intent-filter>
<!-- This activity also handles "SEND" and "SEND_MULTIPLE" with media data -->
<intent-filter>
    <action android:name="android.intent.action.SEND"/>
    <action android:name="android.intent.action.SEND_MULTIPLE"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="application/vnd.google.panorama360+jpg"/>
    <data android:mimeType="image/*"/>
    <data android:mimeType="video/*"/>
</intent-filter>

共享活动有2个过滤器。假设它没有通过第一个过滤器。最后一个intent过滤器有多个动作和数据类型。如果意图仅通过过滤器的某些功能而不是所有功能,该怎么办?它还能用吗?

由于

1 个答案:

答案 0 :(得分:0)

意图必须通过活动中声明的任何意图过滤器。要传递intent过滤器,intent必须匹配给定intent过滤器中的任何操作,任何类别和任何数据。请阅读android documentation了解详情