首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IntentFilter是做什么的?

IntentFilter是做什么的?
EN

Stack Overflow用户
提问于 2010-07-31 00:07:59
回答 1查看 2.9K关注 0票数 2

我不太明白IntentFilter是做什么的?下面是一个示例清单:

代码语言:javascript
复制
<activity android:name="SomeActivity" android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<action><category>标记的作用是什么?假设我声明:

代码语言:javascript
复制
<activity android:name="AnotherActivity" android:label="AnotherActivity">
    <intent-filter>
        <action android:name="android.intent.action.PICK" />
        <action android:name="android.intent.action.VIEW" />
        <action android:name="android.intent.action.INSERT" />
    </intent-filter>
</activity>

如果与Intent对象一起使用,它会有什么作用吗?请帮我理解一下IntentFilter?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-31 14:09:39

通知系统它们可以处理哪些隐式意图,活动、服务和广播接收器可以具有一个或多个意图过滤器。每个过滤器描述组件的一种能力,组件愿意接收的一组意图。

意图过滤器是IntentFilter类的一个实例。然而,因为Android系统必须知道组件的功能才能启动该组件,所以意图过滤器通常不是在Java代码中设置的,而是在应用程序的清单文件(AndroidManifest.xml)中作为元素设置的。

筛选器具有与意图对象的操作、数据和类别字段平行的字段。在所有三个领域中,都会针对过滤器测试隐式意图。要交付给拥有过滤器的组件,它必须通过所有三个测试。如果其中一个失败了,Android系统将不会将其传递给组件-至少不会基于该过滤器。但是,由于一个组件可以有多个意图过滤器,所以没有通过一个组件过滤器的意图可能会在另一个组件过滤器上通过。

有关意图过滤器的更多信息,请参阅此

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3373289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档