Android-Intent

来源:互联网 发布:外贸产品软件管理 编辑:程序博客网 时间:2024/05/16 11:41
Android-Intent


一 Intent
Intent和IntentFilter
1 Intent的意思是意图,所以可以认为Intent就是在不同组件之间传递值而设计的一个数据结构


2 Intent主要使用的对象:

extras:加入附加信息,通常以键值对的形式存在

常用的常量

EXTRA_BCC装有邮件密送地址的字符串数组

EXTRA_EMAIL装有邮件发送地址的字符串数组

EXTRA_UID使用ACTION_UID_REMOVED动作时,描述删除用户的id

EXTRA_TEXT当使用ACTION_SEND, 描述要发送文本的信息


category: 对目标组件类别信息的表述

常用的常量

CATEGORY_GADGET表示目标的Activity可以嵌套在其他的Activity中

CATEGORY_HOME表明目标Activity为HOME Activity

CATEGORY_TAB表明目标Activity是TabActivity下的Activity

CATEGORY_LAUNCHER表明目标Activity是程序最先执行的Activity

CATEGORY_PREFERNCE表明目标Activity是一个偏好设置的Activity


Action:动作

常用的action

ACTION_DALL拨出data里面封装的电话号码

ACTION_VIEW打开能够显示出data里面封装的数据的应用程序

ACTION_EDIT打开data里面指定数据所对应的编辑程序

ACTION_MAIN生命程序的入口,该action不会接受任何数据,结束后也不会返回任何数据

ACTION_BOOT_COMPLEETED广播 action的常量,表示系统启动完毕

ACTION_TIME_CHANGED广播 action的常量,表示系统时间通过设定而改变

Data:动作相关的值,对intent消息中数据的封装,主要描述intent的动作所操作的数据的URI和类型

Componentname:Context 组件

flag:一些关于系统如何启动组件的标志位



二 intent的实现原理
实际上是通过进程间通信来实现的
IBinder IPC 进程间通信,不同的Activity之间的切换也是这种机制,
因为Activity有几种LaunchMode模式,这使得要使用IPC进程间通信来实现intent


三 面试题
1 Intent是什么
 Intent的意思是意图,可以认为 Intent就是在不同组件之间传递值而设计的一个数据结构
2 intent的实现原理
0 0
原创粉丝点击