乐读文学

Android从入门到精通

乐读文学 > 科普学习 > Android从入门到精通

第70页

书籍名:《Android从入门到精通》    作者:明日科技


ACTION_PICK  从数据中选择一项,并返回该项

ACTION_CHOOSER  显示Activity选择器,允许用户在继续前按需选择

ACTION_GET_CONTENT  允许用户选择特定类型的数据并将其返回

ACTION_DIAL  使用提供的数字拨打电话

ACTION_CALL  使用提供的数据给某人拨打电话

ACTION_SEND  向某人发送消息,接收者未指定

ACTION_SENDTO  向某人发送消息,接收者已指定

ACTION_ANSWER  接听电话

ACTION_INSERT  在给定容器中插入空白项

ACTION_DELETE  从容器中删除给定数据

ACTION_RUN  无条件运行数据

ACTION_SYNC  执行数据同步

ACTION_PICK_ACTIVITY  挑选给定Intent的Activity,返回选择的类

ACTION_SEARCH  执行查询

ACTION_WEB_SEARCH  执行联机查询

ACTION_FACTORY_TEST  工厂测试的主入口点

说明:  关于表6.1内容的详细说明,请参考API文档中Intent类的说明。

注意:  在使用表6.1中的动作时,需要将其转换为对应的字符串信息。例如,将ACTION_MAIN转换为android.intent.action.MAIN。

2.  标准广播动作

表6.2中列出了当前Intent类中定义的用于接收广播的标准动作(通常使用Context.registerReceiver  ()方法或者配置文件中的标签)。

表6.2 标准广播动作说明





常 量  说 明

ACTION_TIME_TICK  每分钟通知一次当前时间改变

ACTION_TIME_CHANGEDm  通知时间被修改

ACTION_TIMEZONE_CHANGED  通知时区被修改

ACTION_BOOT_COMPLETED  在系统启动完成后发出一次通知

ACTION_PACKAGE_ADDED  通知新应用程序包已经安装到设备上

ACTION_PACKAGE_CHANGED  通知已经安装的应用程序包已经被修改

ACTION_PACKAGE_REMOVED  通知从设备中删除应用程序包

ACTION_PACKAGE_RESTARTED  通知用户重启应用程序包,其所有进程都被关闭

ACTION_PACKAGE_DATA_CLEARED  通知用户清空应用程序包中的数据

ACTION_UID_REMOVED  通知从系统中删除用户ID值

ACTION_BATTERY_CHANGED  包含充电状态、等级和其他电池信息的广播

ACTION_POWER_CONNECTED  通知设备已经连接外置电源

ACTION_POWER_DISCONNECTED  通知设备已经移除外置电源

ACTION_SHUTDOWN  通知设备已经关闭

说明:  关于表6.2内容的详细说明,请参考API文档中Intent类的说明。

注意:  在使用表6.2中的动作时,需要将其转换为对应的字符串信息。例如将ACTION_TIME  _TICK转换为android.intent.action.TIME_TICK。

除了预定义的动作,开发人员还可以自定义动作字符串来启动应用程序中的组件。这些自定义的字符串应该包含一个应用程序包名作为前缀,如com.mingrisoft.SHOW_COLOR。

动作很大程度上决定了Intent其他部分的组成,特别是数据(data)和额外(extras)部分,就像方法名称决定了参数和返回值。因此,动作名称越具体越好,并且将它与Intent其他部分紧密联系。换句话说,开发人员应该为组件能处理的Intent对象定义完整的协议,而不是单独定义一个动作。

Intent对象中的动作使用setAction()方法设置,使用getAction()方法读取。

6.1.3 数据(Data)

Data表示操作数据的URI和MIME类型。不同动作与不同类型的数据规范匹配。例如,如果动作是ACTION_EDIT,数据应该是包含用来编辑的文档的URI;如果动作是ACTION_CALL,数据应该是包含呼叫号码的tel:URI。类似的,如果动作是ACTION_VIEW而且数据是http:URI,接收的Activity用来下载和显示URI指向的数据。

在将Intent与处理它的数据的组件匹配时,除了数据的URI,也有必要了解其MIME类型。例如,能够显示图片数据的组件不应用来播放音频文件。

在多种情况下,数据类型可以从URI中推断,尤其是content:URI。它表示数据存在于设备上并由ContentProvider控制。但是,类型信息也可以显式地设置到Intent对象中。setData()方法仅能指定数据的URI,setType()方法仅能指定数据的MIME类型,setDataAndType()方法可以同时设置URI和MIME类型。使用getData()  方法可以读取URI,使用getType()方法可以读取类型。

6.1.4 种类(Category)

Category是一个字符串,其中包含了应该处理当前Intent的组件类型的附加信息。在Intent对象中可以增加任意多个种类描述。与动作类似,在Intent类中也预定义了一些种类常量,其说明如表6.3所示。

表6.3 标准种类说明





常 量  说 明

CATEGORY_DEFAULT  如果Activity应该作为执行数据的默认动作的选项,则进行设置

CATEGORY_BROWSABLE  如果Activity能够安全地从浏览器中调用,则进行设置

CATEGORY_TAB  如果需要作为TabActivity的选项卡,则进行设置

CATEGORY_ALTERNATIVE  如果Activity应该作为用户正在查看数据的备用动作,则进行设置

CATEGORY_SELECTED_ALTERNATIVE  如果Activity应该作为用户当前选择数据的备用动作,则进行设置

CATEGORY_LAUNCHER  如果应该在顶层启动器中显示,则进行设置

CATEGORY_INFO  如果需要提供其所在包的信息,则进行设置

CATEGORY_HOME  如果是Home  Activity,则进行设置

CATEGORY_PREFERENCE  如果Activity是一个偏好面板,则进行设置

CATEGORY_TEST  如果用于测试,则进行设置

CATEGORY_CAR_DOCK  如果设备插入到car  dock时运行Activity,则进行设置

CATEGORY_DESK_DOCK  如果设备插入到desk  dock时运行Activity,则进行设置

CATEGORY_LE_DESK_DOCK  如果设备插入到模拟dock(低端)时运行Activity,则进行设置

CATEGORY_HE_DESK_DOCK  如果设备插入到数字dock(高端)时运行Activity,则进行设置

CATEGORY_CAR_MODE  如果Activity可以用于汽车环境,则进行设置