Android --Intent意图的讲解
来源:互联网 发布:js new date 少一天 编辑:程序博客网 时间:2024/05/23 19:21
- Intent 的定义: 是执行某操作的一个抽象描述
- intent 属性
- action 要执行的动作(actio的一个简要描述,Android为我们定义了一套标准动作:
- MAIN_ACTION
VIEW_ACTION
EDIT_ACTION
PICK_ACTION
GET_CONTENT_ACTION
DIAL_ACTION
CALL_ACTION
SENDTO_ACTION
ANSWER_ACTION
INSERT_ACTION
DELETE_ACTION
RUN_ACTION
LOGIN_ACTION
CLEAR_CREDENTIALS_ACTION
SYNC_ACTION
PICK_ACTIVITY_ACTION
WEB_SEARCH_ACTION
- MAIN_ACTION
- data 是执行动作要操作的数据
- category(类别),被执行动作的附加信息。
- type(数据类型),显式指定Intent的数据类型(MIME)。
- component(组件),指定Intent的的目标组件的类名称。
- extras(附加信息),是其它所有附加信息的集合。
- action 要执行的动作(actio的一个简要描述,Android为我们定义了一套标准动作:
- Android如何解析Intent
在应用中,我们可以以两种形式来使用Intent:
直接Intent:指定了component属性的Intent(调用setComponent(ComponentName)或者setClass(Context, Class)来指定)。通过指定具体的组件类,通知应用启动对应的组件。
间接Intent:没有指定comonent属性的Intent。这些Intent需要包含足够的信息,这样系统才能根据这些信息,在在所有的可用组件中,确定满足此Intent的组件。
对于直接Intent,Android不需要去做解析,因为目标组件已经很明确,Android需要解析的是那些间接Intent,通过解析,将 Intent映射给可以处理此Intent的Activity、IntentReceiver或Service。
Intent解析机制主要是通过查找已注册在AndroidManifest.xml中的所有IntentFilter及其中定义的Intent,最终找到匹配的Intent。在这个解析过程中,Android是通过Intent的action、type、category这三个属性来进行判断的,判断方法如下:
如果Intent指明定了action,则目标组件的IntentFilter的action列表中就必须包含有这个action,否则不能匹配;
如果Intent没有提供type,系统将从data中得到数据类型。和action一样,目标组件的数据类型列表中必须包含Intent的数据类型,否则不能匹配。
如果Intent中的数据不是content: 类型的URI,而且Intent也没有明确指定它的type,将根据Intent中数据的scheme (比如 http: 或者mailto: ) 进行匹配。同上,Intent 的scheme必须出现在目标组件的scheme列表中。
如果Intent指定了一个或多个category,这些类别必须全部出现在组建的类别列表中。比如Intent中包含了两个类别:LAUNCHER_CATEGORY 和 ALTERNATIVE_CATEGORY,解析得到的目标组件必须至少包含这两个类别。
- Android --Intent意图的讲解
- Android基础 | 意图Intent讲解
- Android的Intent意图详解
- Android中的Intent(意图)的使用
- Android Intent意图的常用使用方法
- android的广播和意图intent
- Android中的Intent(意图)的使用
- Android中intent的隐式意图
- [android]Intent意图
- android意图-intent
- android 中的意图intent
- android意图Intent
- Android Intent意图详解
- Android Intent 意图
- Android-Intent(意图)
- Android意图-Intent详解
- Android Intent(意图)介绍
- Intent意图的介绍
- (C#)安全、简单的Windows Forms多线程编程 (一)
- TF-IDF与余弦相似性的应用
- 黑马程序员---java小程序练习
- iOS coredata 多表查询
- hibernate-generic-dao
- Android --Intent意图的讲解
- HIBOX/OPENBOX接收JBS、蜻蜓的遥控器设置
- 排列组合
- YUV ,RGB,H.264,MPEG-4,QVGA,VGA,CIF
- ural 1007 Code Words
- 来京一年总结
- 异或求缺失的数字
- 再做蓝桥杯全国软件专业人才设计大赛2012试题
- Eclipse构建Maven项目