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