android开发-Intent(4)

android使用Intent来实现不同组件间的调用和数据交互

Intent有这几个属性

action

动作

其实就是一个字符串,用来标记要做的动作.Intent本身已经定义了很多的action,如果不够,还可以自已定义.

data

android用一个指向数据的uri来引用数据.

action+data已经能实现一个Intent.例如 * VIEW_ACTION content://contacts/1 — 显示标识符为”1″的联系人的详细信息 * EDIT_ACTION content://contacts/1 — 编辑标识符为”1″的联系人的详细信息 * VIEW_ACTION content://contacts/ — 显示所有联系人的列表 * PICK_ACTION content://contacts/ — 显示所有联系人的列表,并且允许用户在列表中选择一个联系人,然后把这个联系人返回给父activity。例如:电子邮件客户端可以使用这个 Intent,要求用户在联系人列表中选择一个联系人。

后面还有四个属性,属于附加属性,用来补充一些信息

catagory

类别:被执行动作的附加信息(我还真没看明白)

extra

附加信息,这里用才传递真正的数据,不是所有数据都可以引用的.

比如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标题,正文等保存在extras里,传给电子邮件发送组件

component

可以在这里明确的指定要调用的component

type

数居类型

例子

把取到的一串号码打出去,可以这样

// 获得可编辑文本框中的值,也就是电话号码
String phoneNumber = PhoneNumberEditText.getText().toString();

// new Intent(行为,数据),其中action_dial是拨号行为,数据是电话号码
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel://" + phoneNumber));

// 去调用那些可以处理拨号行为的Activity
startActivity(intent);