赞
踩
1.通过Intent传递数据(打开Activity)
2.Action动作
3.Categorg类别
4.data数据
5.type数据类型
6.Extras扩展信息数据
7.Flags标志位Activity的启动模式
8.常用的系统Intent
Intent组件虽然不是四大组件,但确是连接四大组件的桥梁,学习好这个知识也是非常重要.
android提供了Intent机制来协助应用间的交互和通讯,或者采用更准确的说法是,Intent不仅可用于应用之间,也可以用于应用内部的activity,service和broadcast receiver之间的交互。Intent这个单词的本意是:"目的,意图,意向"。
activity、service和broadcast receiver之间是通过Intent进行通信的,而另外一个组件Content Provider本身就是一种通信机制,
不需要通过Intent。我们来看下面这个图就知道了
如果Activity1需要和Activity2进行联系,二者不需要直接联系,而是通过Intent作为桥梁。通俗来讲,Intnet类似于中介、媒婆的角色。
1.使用Context.startActivity()或 Activity.startActivityForResult(),传入一个intent来启动一个activity。
2 将intent对象传给Context.startService()来启动一个service或者传消息给一个运行的service。
3.将intent对象传给 Context.bindService()来绑定一个service。
4.将intent对象传给 Context.sendBroadcast(),Context.sendOrderedBroadcast(),或者Context.sendStickyBroadcast()等广播方 法,则它们被传给 broadcast receiver。
Intent由以下各个组成部分:
component(组件):目的组件
action(动作):用来表现意图的行动
category(类别):用来表现动作的类别
data(数据):表示与动作要操纵的数据
type(数据类型):对于data范例的描写
extras(扩展信息):扩展信息
Flags(标志位):期望这个意图的运行模式
Intent类型分为显式Intent(直接类型),隐式(间接类型)。官方建议使用隐式Intent。 Component属性明确指定Intent的目标组件 的类名称。(属于直接Intent)
相比与显示Intent,隐式Intent则含蓄了许多,他并不明确指出我们想要启动哪一个活动,而是指一系列为抽象的action和category的信息,然后交由系统去分析这个Intent,并帮助我们找出最合适的活动去启动。
Activity和Intent Filter的匹配过程:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。