Intent 匹配规则
1.在AndroidManifest.xml中可以为 每个 Activity,Service 设置多个Intent-Filter;
在系统启动和程序安装之后,android会收集AndroidManifest.xml 中配置的 Intent-Filter.
每个intent-filter 从action category data三个量来过滤 intent.
- Intent-Filter和Intent的设置规则
1.每个intent-filter对象(这里是intent-filter不是 AndroidManifest.xml中的intent-filter的子节点,Activity 节点可以没有intent-filter子节点) 可以配置 0-n个action, 1-n 个category , 0-n个data。IntentFilter 上的 data 节点上可以设置 scheme、host、port、path、mimetype
2.每个intent 可以设置 0-1个 action、0-n 个 category、0-1 个 data。Intent 上可以使用 Uri 设置 data,使用字符串设置 mimetype
3. 在安装app的时候,intent-filter节点如果没有配置category,系统不会设置某个默认的category.
如果在隐式启动activity的时候,startactivity(intent),系统会自动为这个intent在多匹配一次"android.intent.category.DEFAULT",所以如果要能够隐式启动activity,
必须在AndroidManifest.xml中为activity配置"android.intent.category.DEFAULT",否则无论如何都不会匹配通过的。
- Intent-Filter和Intent的匹配规则
匹配步骤1,action 2, data 3,category
action和category匹配规则:
intent中的action必须在 intent-filter中设置了的
intent中的每一个category必须在intent-filter中设置了的。
data匹配规则
data格式:<scheme>://<host>:<port>/<path>
从前往后匹配,intent中的data只需要和intent-filter中设置的部分匹配就可以了。
比如 intent-filter中设置 <data android:scheme="test" android:host="www.google.com"/>
那么
Uri.parse("test://www.google.com:80"),
Uri data = Uri.parse("test://www.google.com:88"),
Uri data = Uri.parse("test://www.google.com")
这三个都是可以匹配的。
如果设置了mimeType ,那么intent中也要设置mimeType。
转载于:https://www.cnblogs.com/hi0xcc/p/5571761.html
Intent 匹配规则相关推荐
- Android值Intent匹配规则挖掘(PMS获取系统apk信息过程)
Intent的查找与匹配 App信息表的构建 在Android开发中,Intent是极其重要的一个类,他是个个组件,进程之间通信的纽带,那么系统是如何通过Intent来查找对应的组件的呢? 在Andr ...
- intentfilter匹配规则
activity的启动方式有两种:显示启动和隐式启动.显示启动很简单,也很常用.隐式启动则需要Intent能够匹配目标activity 在 IntentFilter配置的过滤信息. Intent和In ...
- Intent的匹配规则
intent是android中作为启动四大组件的粘合剂,中文意思是意图.intent是某种将要执行的操作的抽象描述,它可以通过startActivity(Intent) 启动activity,send ...
- Java中intentfiler_【Android - 组件】之IntentFilter的匹配规则
我们知道,Activity的启动模式分为两种,分别是显式启动和隐式启动.显式启动需要明确的指定被启动的对象的组件信息,包括包名和类名:而隐式启动需要 Intent 能够匹配目标组件的 IntentFi ...
- android intent-filter作用,Android中Intent-Filter的匹配规则是什么
Android中Intent-Filter的匹配规则是什么 发布时间:2020-12-14 15:19:32 来源:亿速云 阅读:67 作者:Leah 今天就跟大家聊聊有关Android中Intent ...
- Android IntentFilter的匹配规则
IntentFilter的匹配规则 IntentFilter的匹配规则 IntentFilter的匹配规则 一.Intent简介 二.IntentFilter匹配规则 1.action的匹配规则 2. ...
- android:mimetype 自定义,Android: Intent匹配及mimeType匹配,这一篇就够了!!
activity的启动分为显式调用和隐式调用.显式调用需要明确指定组件的信息,来完成调用..隐式调用是通过匹配目标组件的IntentFilter完成的.一个组件可以设置多个IntentFilter来匹 ...
- MQTT topic匹配规则
MQTT topic匹配规则 原文连接: https://blog.csdn.net/JiangCheng817/article/details/81333893 内容: 主题层级分隔符 " ...
- Nginx—核心配置location匹配规则说明
2019独角兽企业重金招聘Python工程师标准>>> location介绍 location指令是Nginx中最核心的一项配置,根据预先定义的URL匹配规则来接收用户发送的请求,根 ...
最新文章
- mysql分库一个库和多个库_数据库分库后不同库之间的关联
- tabcontainer控件太长_AjaxControlToolKit--TabContainer控件的介绍收藏[摘录]
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(设置图例位置、移除图例)实战
- 阿里发布2019十大科技趋势,5G仍是主要生产力
- 与孩子一起学编程 python_【和孩子一起学编程】 python笔记--第五天
- Java OkHttp3的简单使用
- 【POJ 2485】 Highways
- Raid3.0数据丢失怎么办
- pandas 字符串切片后保存_Pandas时间序列基础详解(转换,索引,切片)
- 运动会管理系统(JAVA,JSP,SERVLET,SQLSERVER)
- 小米登录的HTML源代码,html--登录页面(小米登录)
- 目标检测中的anchor-base与anchor-free
- 批量爬起百度图片上的数据代码--python
- 网络七层模型和对应协议的通俗理解
- 从零开始之驱动发开、linux驱动(六十六、内核调试篇--printk原理)
- oracle ola_访谈和书摘:Ola Bini,“实用的JRuby on Rails Web 2.0项目”
- 10018801骗子
- 缓解疲劳,闻咖啡比喝咖啡更好
- 实现证件照APP(一)
- Maven项目报错 系统找不到指定的路径 问题解决