Android mobile development and application
安徽师范大学-计算机信息学院-2019-2020学年第一学期, 作者(授课教师): 周文
应该处理该Intent的组件名称。这部分是一个ComponentName对象,它由目标组件的完全限定类名(例如“cn.ahnu.TestActivity”)和组件所在的应用程序配置文件中设置的包名(例如“cn.ahnu”)组合而成。组件名称的包名部分和配置文件中设置的包名不必匹配。
命名将要执行动作的字符串。在广播Intent情况下,命名已经发生即将报告的动作的字符串。在Intent类中,定义了一系列动作常量,其目标组件包括Activity和Broadcast两类。下面分别进行介绍。
Activity
| 常量 | 说明 |
|---|---|
| ACTION_MAIN | 作为初始的Activity启动,没有数据输入输出 |
| ACTION_VIEW | 将数据显示给用户 |
| ACTION_ATTACH_DATA | 用户指示一些数据应该属于其他地方 |
| ACTION_EDIT | 将数据显示给用户,用于编辑 |
| 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 | 工厂测试的主入口点 |
| ACTION_TIME_PICK | 每分钟通知一次当前时间改变 |
| ACTION_TIME_CHANGED | 通知时间被修改 |
| ACTION_TIMEZONE_CHANGED | 通知时区被修改 |
| ACTION_BOOT_COMPLETED | 在系统启动完成后,发出一次通知 |
| ACTION_PACKAGE_ADDED | 通知行应用程序包已经安装到设备上 |
| ACTION_PACKAGE_CHANGED | 通知已经安装的应用程序包已经被修改 |
| ACTION_PACKAGE_REMOVED | 通知从设备中删除应用程序包 |
| ACTION_PACKAGE_RESTARTED | 通知用户重启应用程序包,其所有进程都被关闭 |
| ACTION_UID_REMOVED | 通知从系统中删除用户ID值 |
| ACTION_BATTERY_CHANGED | 包含充电状态、登记和其他电池信息的广播 |
| ACTION_POWER_CONNECTED | 通知设备已经连接外置电源 |
| ACTION_POWER_DISCONNECTED | 通知设备已经移除外置电源 |
| ACTION_SHUTDOWN | 通知设备已经关闭 |
操作数据的URI以及该数据的MIME类型。不同动作与不同类型的数据规范匹配。例如,如果动作是ACTION_EDIT,数据应该包含用来编辑的文档的URI。如果动作是ACTION_CALL,数据应该是包含呼叫号码的tel:URI。类似的,如果动作是ACTION_VIEW而且数据是http:URI,接收的Activity用来下载和显示URI指向的数据。
| 常量 | 说明 |
|---|---|
| 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可以用于汽车环境,则进行设置 |
| CATEGORY_APP_MARKET | 如果Activity允许用户浏览和下载新应用,则进行设置 |
应该发送给处理Intent的组件的、包含附加信息的键值对。就像一些动作与特定种类的数据URI匹配,一些与特定额外匹配。例如,动作为ACTION_TIMEZONE_CHANGED的Intent有个“time-zone”额外来表示新时区;动作为ACTION_HEADSET_PLUG的Intent有个“state”额外来表示耳机是否被插入,以及“name”额外来表示耳机的类型。如果开发人员自定义一个SHOW_COLOR动作,则应该包含额外来表示颜色值。
不同种类的标记。多数用于指示Android系统如何启动Activity(例如,Activity该属于哪个Task)以及启动后如何对待(例如,它是否属于近期的Activity列表)。所有这些标记都定义在Intent类中。
创建Android项目,在Activity中使用Intent来传递信息。

桌面创建Android项目,在Activity中使用Intent来返回Home桌面。

Activity、Service和BroadcastReceiver能定义多个Intent过滤器来通知系统它们可以处理哪些隐式Intent。每个过滤器描述组件的一种能力,以及该组件可以接收的一组Intent。实际上,过滤器接收需要类型的Intent,拒绝不需要类型的Intent,但是仅限于隐式Intent。显式Intent无论其内容总可以发送给它的目标,过滤器并不干预。但是,隐式Intent只有在通过组件的Intent过滤器之后才能发送给组件。
创建Android项目,在Activity中使用包含预定义动作的隐式Intent启动另外一个Activity。

创建Android项目,在Activity中使用包含自定义动作的隐式Intent启动另外一个Activity。

本章结束
2019-9-1