第70页
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可以用于汽车环境,则进行设置