Android安卓——Intent(3)过滤器
来源:互联网 发布:数码宝贝网络侦探智力 编辑:程序博客网 时间:2024/05/16 11:04
通过之前两次学习,学习了Intent的简单用法,简单了解了Intent。
本次学习Intent过滤器。让系统自己进行匹配调用。
Intent过滤器简介
- Intent过滤器是一种根据Intent中的动作(Action)、类别(Categorie)和数据(Data)等内容,对适合接收该Intent的组件进行匹配和筛选的机制
- Intent过滤器可以匹配数据类型、路径和协议,还包括可以用来确定多个匹配项顺序的优先级(Priority)
- 应用程序的Activity组件、Service组件和BroadcastReceiver都可以注册Intent过滤器,则这些组件在特定的数据格式上就可以产生相应的动作
注册Intent过滤器
在AndroidManifest.xml文件的各个组件的节点下定义节点,然后在节点中声明该组件所支持的动作、执行的环境和数据格式等信息
- 在程序代码中动态地为组件设置Intent过滤器
- “intent-filter”节点支持”action”标签、”category”标签和”data”标签
“action”标签定义Intent过滤器的“动作”
“category”标签定义Intent过滤器的“类别”
“data”标签定义Intent过滤器的“数据”
Android系统提供的类别(“category”标签的取值)
AndroidManifest.xml文件中的每个组件的”intent-filter”都被解析成一个Intent过滤器对象。当应用程序安装到Android系统时,所有的组件和Intent过滤器都会注册到Android系统中。这样,Android系统便知道了如何将任意一个Intent请求通过Intent过滤器映射到相应的组件上。
Intent解析
- Intent到Intent过滤器的映射过程称为“Intent解析”
- Intent解析可以在所有的组件中,找到一个可以与请求的Intent达成最佳匹配的Intent过滤器
Intent解析的匹配规则
**Android系统把所有应用程序包中的Intent过滤器集合在一起,形成一个完整的Intent过滤器列表
**在Intent与Intent过滤器进行匹配时,Android系统会将列表中所有Intent过滤器的“动作”和“类别”与Intent进行匹配,任何不匹配的Intent过滤器都将被过滤掉。没有指定“动作”的Intent过滤器可以匹配任何的Intent,但是没有指定“类别”的Intent过滤器只能匹配没有“类别”的Intent
**把Intent数据Uri的每个子部与Intent过滤器的标签中的属性进行匹配,如果标签指定了协议、主机名、路径名或MIME类型,那么这些属性都要与Intent的Uri数据部分进行匹配,任何不匹配的Intent过滤器均被过滤掉
**如果Intent过滤器的匹配结果多于一个,则可以根据在标签中定义的优先级标签来对Intent过滤器进行排序,优先级最高的Intent过滤器将被选择
- Android安卓——Intent(3)过滤器
- Android——Intent和Intent过滤器
- Android安卓——Intent通信(1)
- Android安卓——Intent(2)传递数据
- 安卓开发指南之Intent 和 Intent 过滤器
- 安卓API指南之Intent 和 Intent 过滤器
- Android -- Intent 和 Intent 过滤器
- Android Intent和Intent过滤器
- 【Android】Intent过滤器
- 安卓学习(一)——Intent探索
- 安卓基础——Intent与Intent Filters(阅读笔记)
- Android 之Intent和Intent过滤器
- Android基础之Intent 和 Intent 过滤器
- Android 中Intent 和 Intent 过滤器
- Android中Intent和Intent过滤器详解
- android Intent和Intent过滤器几个注意事项
- Android(安卓)intent打开压缩文件
- 安卓-android.intent.category.DEFAULT
- Jstorm安装与集群环境搭建(storm集群配置类似)
- 为了格式化粘贴代码
- 以太坊Ethereum私链建立 、合约编译、部署
- LSH系列概述:局部敏感哈希(Locality-Sensitive Hashing, LSH)方法介绍
- python os.remove() flag 操作。
- Android安卓——Intent(3)过滤器
- 重写与重载的相关理解
- PAT (Basic Level) Practise (中文)1049. 数列的片段和(20)
- 机房收费系统-组合查询
- ajax,json学习笔记(一)ajax,http简介
- 如何解决 Socket 连接超时
- JSP
- hdu 1272 小希的迷宫
- 【Angular2】试卷整体设计