WEB开发网
开发学院手机开发Android 开发 Android 中的 Intent 详细讲解 阅读

Android 中的 Intent 详细讲解

 2010-04-13 01:52:00 来源:WEB开发网   
核心提示:其次,是执行动作要操作的数据(data),Android 中的 Intent 详细讲解(2),Android中采用指向数据的一个 URI来表示,如在联系人应用中,这种语言使系统能够理解诸如“查看某联系人的详细信息”之类的短语,随着应用不断的加入到系统中,一个指向某联系人的URI可能为:content://contact

其次,是执行动作要操作的数据(data),Android中采用指向数据的一个 URI来表示,如在联系人应用中,一个指向某联系人的URI可能为:content://contacts/1。

这种URI表示,通过 ContentURI这个类来描述,具体可以参考android.net.ContentURI类的文档。

以联系人应用为例,以下是一些action / data对,及其它们要表达的意图:

复制内容到剪贴板

代码:

VIEW_ACTION content://contacts/1-- 显示标识符为"1"的联系人的详细信息

EDIT_ACTION content://contacts/1-- 编辑标识符为"1"的联系人的详细信息

VIEW_ACTION content://contacts/-- 显示所有联系人的列表

PICK_ACTION content://contacts/-- 显示所有联系人的列表,并且允许用户在列表中选择一个联系人,然后把这个联系人返回给父activity。例如:电子邮件客户端可以使用这个 Intent,要求用户在联系人列表中选择一个联系人

另外,除了action和data这两个重要属性外,还有一些附加属性:

category(类别),被执行动作的附加信息。例如 LAUNCHER_CATEGORY 表示Intent 的接受者应该在Launcher中作为顶级应用出现;而ALTERNATIVE_CATEGORY表示当前的Intent是一系列的可选动作中的一个,这些动作可以在同一块数据上执行。

type(数据类型),显式指定Intent的数据类型(MIME)。一般Intent的数据类型能够根据数据本身进行判定,但是通过设置这个属性,可以强制采用显式指定的类型而不再进行推导。

component(组件),指定Intent 的的目标组件的类名称。通常 Android会根据Intent 中包含的其它属性的信息,比如action、data/type、category进行查找,最终找到一个与之匹配的目标组件。但是,如果 component这个属性有指定的话,将直接使用它指定的组件,而不再执行上述查找过程。指定了这个属性以后,Intent的其它所有属性都是可选的。

extras(附加信息),是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。

总之,action、 data/type、category和extras 一起形成了一种语言。

这种语言使系统能够理解诸如“查看某联系人的详细信息”之类的短语。

随着应用不断的加入到系统中,它们可以添加新的action、 data/type、category来扩展这种语言。

上一页  1 2 3 4 5 6 7  下一页

Tags:Android Intent 详细

编辑录入:coldstar [复制链接] [打 印]
赞助商链接