前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >android学习笔记——Intent和IntentFilter

android学习笔记——Intent和IntentFilter

作者头像
三产
发布2021-01-13 11:19:59
3810
发布2021-01-13 11:19:59
举报
文章被收录于专栏:用户6590312的专栏

安卓的四大组件:

Activity Service BroadcastReceiver ContentProvider

Activity、Service、BroadcastReceiver都是通过Intent传递

Intent作用:程序运行过程中连接两个不同的组件,通过Intent程序可向android传递某种请求,android通过请求的内容选择适当组件来完成请求(比如要打开浏览器之类的)【 android根据Intent请求内容查询各组件注册时声明的IntentFilter找到相关的组件】。组件间可以通过Intent进行数据交换

使用Intent的好处:

1、使用同意的Intent封装对不同组件的意图,提供了一致的编程模型

2、满足程序之启动具有某特征组件而不与该组件强耦合的需求,实现松散耦合

Intent(意图)分类:

1、显示意图:明确跳转的组件【择偶到某人】

2、隐式意图:只要符合就可以【只有择偶标准】

Intent的属性:

1、Component(组件)明确指定需要启动的目标组件

2、Action【普通字符串】代表Intent要完成的抽象动作

3、Category(种类)【普通字符串】为Action增加附加类别信息(一些特点)

4、Data【URI对象】 向Action属性提供操作的数据,例如:Tel:--110【协议 主机号 端口号 路径】

5、Type【abc_xyz格式字符串】 指定Data所指定的URI对应的MIME类型

6、Extra【Bundle对象,类似Map存放kye/value】(额外的事物) 用于携带需要交换的数据(在多个组件之间进行数据交换)

7、Flag 添加控制旗标 通过AddFlags方法添加

!注意:每一个Intent只能指定一个Action可以指定多个Category

Data和Type属性互相覆盖,后设置起效。 可以调用Intent的setDataAndType来设定防止覆盖

IntentFilter(意图过滤器) :

AndroidManifest注册组件时可以添加IntentFilter,然后通过Intent的属性来过滤Intent,捕获到满足条件的组件之后启动这个组件——>隐式意图的原理

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014/08/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档