Android的Intent机制
Android利用Intent建立对象连接和实现组件通讯,称为意图机制。
其核心设计思想:引入组件管理服务作为连接组件的管理者。该服务通过组件的配置信息了解系统中组件的功能和类别,帮助调用组件寻求符合其需求的实现组件,将调用者和实现者解耦。
意图机制下,通讯的角色:
调用组件:连接请求发起者,期望其他组件帮助完成功能。通过Context.startActivity()和Context.bindService()等函数发起对目标组件的连接请求。
实现组件:响应调用者请求完成任务。无需关注调用者是谁,只需按照请求者发送的Intent对象去执行相关功能即可。
组件管理服务:从调用者组件接受Intent对象,将该对象与应用管理服务收集到的组件Intent Filter 对象进行比较,选出符合调用组件需求的实现组件,构造并调用实现组件对象。
应用管理服务是一个系统服务,运行在系统核心进程中的独立进程,通过IPC,与各个组件实现通信。
Intent对象作用:组件间信息传递的载体;定义了组件间的连接协议。
Intent对象构成:
Action项(Action表达动作,是一个字符串,通过Intent.setAction()设定,还可以Intent.getAction()读取动作信息;Action命名同包名类似,以保持唯一性和可拓展性);
Data项:通过Intent.setData()或Intent.setDataAndType()设置。Data数据用字符串URI存取;
Type项:通过Intent.setType()或Intent.setDataAndType()设置。Type是MIME类型数据,可以使用通配符*来表示整个类别信息。
在Intent对象中Data和Type互斥使用。因此有了Intent.setDataAndType()。
Category项:表示条件约束。一个Intent可以有多个Category,Intent.addCategory()添加,多个Category是与关系。
Component项:目标组件的类型信息。Intent.setComponent()利用类名设定,或Intent.setClass()利用类型对象设定。
Extra项:是一个Bundle对象,以键值对存储数据,可对数据进行系列化和反序列化。
Flags项:是一个整形数,对组件透明。
相关推荐
Android Intent机制实例详解,讲的比较详细,与大家分享,也是想得到积分呵呵。
Android Activity和Intent机制学习笔记
Android+Intent机制实例详解 Android+Intent 大家不得不看啊!
Android+Intent机制实例详解.rar,详细的介绍了,android中的intent知识,可以下载下来看看哟
Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法 是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。 Intent这个英语单词的本意是“目的、意向”等...
通过一个实验,讲解Android的使用方法,总结详细
Android Activity和Intent机制
Intents and Intent Filters 三种应用程序基本组件——activity, ... 在上述三种情况下, android系统会自己找到合适的activity, service, 或者 broadcast receivers来响应intent. 三者的intent相互独立互不干扰.
Android Activity和Intent机制,讲得十分详细。
Android_Activity和Intent机制学习笔记
Android+Intent机制实例详解[文].pdf
Android应用程序中消息传递方法Intent机制研究.pdf
最近在进行android开发过程中,...Intent的中文意思是“意图,意向”,在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动 作、动作涉及数据、附加数据进行描述,Android则根据此I
Android中提供了Intent机制来协助应用间的交互与通讯。可作为不同组件之间通讯的媒介完成应用之间的交互。这里讨论一下针对Intent打开第三方应用的相关操作。 本文主要记录: ① 使用 Intent 打开第三方应用或指定 ...
Android中的异步任务机制 Android中AsyncTak的使用与源码分析 Android AsyncTask 完全解析,带你从源码的角度彻底理解 Android 异步消息处理机制完全解析,带你从源码角度彻底理解 Android 异步消息处理机制...
android onnewintent机制
参考...,讲解的很好 1.什么是Intent(定义) Intent这个单词的意思就是”意图,目的,意向”,Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。 个
Intent的示例,详细的注释,详细讲解了startActivityForResult的用法,以及Bundle跟Intent保存对象的机制.
Android_版本区别 Android_开发技巧杂集 2011android面试题目及其答案大全 Android+Intent机制实例详解