Intent对象
一个Android程序由多个组件组成,各个组件使用Intent通信。
传递给Activity
启动新Activity或者已存在的Activity去做其他任务。
Context.startActivity();//
Activity.startActivityForResult();
Activity.setResult();
//将信息返回给调用的startActivityForResult()的Activity
- 传递给Service
Context.startService();
Context.bindService();
//调用组件和目标Service链接
- 传递给BroadcastReceiver
Context.sendBroadcast();
Context.sendOrderedBroadcast();
Context.sendStickyBroadcast();
//广播出去
组件名称(Component Name)
系统可自动设置
设置名称
- setComponent();
- setClassName();
setClass()
获取名称getComponent();
动作
- 设置动作setAction();
- 方法读取getAction();
- 标准Activity动作
常用,其余需要时可查询API
标准动作说明
常量 | 说明 |
---|---|
ACTION_MAIN | 作为初始化Activity启动,没有数据输入和输出 |
ACTION_EDIT | 将数据显示给用户编辑 |
ACTION_VIEW | 将数据显示给用户 |
使用时需要转换成为对应字符串信息:
ACTION_MAIN–>android.intent.action.MAIN
- 标准广播动作
常使用Context.registerReceiver();
或者配置文件receiver标签中
数据(Data)
Data表示操作数据的URI和MIME类型
URI:数据地址 MIME:数据类型
- 设置URI和MINE:setDataAndType();
- 获取URI:getData();
获取MINE类型:getType();
常用
动作 | 类型数据规范 |
---|---|
ACTION_EDIT | 编辑文件URI |
ACTION_CALL | tel:URI |
ACTION_VIEW | http:URI |
种类(Category)
Category是一种字符串,包含附加信息
- 增加到Intent对象:addCategory();
- 删除上次增加种类:removeCategory();
获取当前种类包含对象:getCategory();
额外(Extras)
包含额外信息。设置和读取Bundle
- putExtras();
- getExtras();
标记(Flags)
标记不同来源,所以标记都是整数类型。