关于Intent和IntentFilter的总结

前几天看到有人这么比喻Intent机制,intent连接各组件就像是女生找男朋友,如果有指定男友为某某某,在Android中指定的了具体是某个组件,那么就是显性意图;如果只是提出要求没有指定具体的某个人,在Android中即没有指定某个具体的组件,那么就是隐式意图。          


1、intent的主要作用。
 (1)intent是各组件之间通信的桥梁,通过intent可以激活组件。(像activity、service、广播接收者);通过intent是搭建复杂的应用的基础,因为Android本身是基于web2.0下mashup思维来搭建Android应用。
(2)intent可以携带数据,其存取数据的方式是Bundle形式,而Bundle中存储数据的方式是Map键值对的形式。

2、显式Intent和隐式Intent的区别和使用场合。
(1)首先显式意图是指指定了组件名称的intent,像setClass()、setComponent()等方法指定了具体的组件名称。(在这种情况下,Android系统不用去application节点中去找是否匹配,而是直接激活指定名称的组件即可);而隐式intent的话,是指没有指定具体的组件名称,而是通过intent对象的setAction()、addCategory()、setData()等方法指定启动的组件必须满足的条件;而等待被激活组件需要在intentFilter中添加自己的条件;只要等待被激活组件自身的条件满足(>=)隐式intent指定的条件即可被激活。


3、关于intent的几点小结:
(1)intent表示启动某个程序组件的“意图”,intent可以启动本应用的组件,也可以启动Android系统的其他应用的组件(只要权限允许exported)。
(2)使用隐式intent时,关于Data和Type相互覆盖的问题,解决方法使用setDataAndType()方法。
(3)使用intent还可以创建Tab页面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值