接着上节讲,上节我们讲到使用Intent的属性(如组件名称、操作、数据和类别)来表示 Intent 的既定特征。通过读取这些属性,Android 系统能够解析应当启动哪个应用组件。
标志
在 Intent 类中定义的、充当 Intent 元数据的标志。标志可以指示 Android 系统如何启动 Activity(例如,Activity 应属于哪个 任务 ),以及启动之后如何处理(例如,它是否属于最近的 Activity 列表)。
如需了解详细信息,请参阅 setFlags() 方法。
但是,Intent 也有可能会一些携带不影响其如何解析为应用组件的信息。Intent 还可以提供:
Extra
携带完成请求操作所需的附加信息的键值对。正如某些操作使用特定类型的数据 URI 一样,有些操作也使用特定的附加数据。
您可以使用各种 putExtra() 方法添加附加数据,每种方法均接受两个参数:键名和值。您还可以创建一个包含所有附加数据的 Bundle 对象,然后使用 putExtras() 将 Bundle 插入 Intent 中。
例如,使用 ACTION_SEND 创建用于发送电子邮件的 Intent 时,可以使用 EXTRA_EMAIL 键指定“目标”收件人,并使用 EXTRA_SUBJECT 键指定“主题”。
Intent 类将为标准化的数据类型指定多个 EXTRA_* 常量。如需声明自己的附加数据 键(对于应用接收的 Intent ),请确保将应用的软件包名称作为前缀。例如:
static final String EXTRA_GIGAWATTS = "com.example.EXTRA_GIGAWATTS";
标志
在 Intent 类中定义的、充当 Intent 元数据的标志。标志可以指示 Android 系统如何启动 Activity(例如,Activity 应属于哪个 任务 ),以及启动之后如何处理(例如,它是否属于最近的 Activity 列表)。
如需了解详细信息,请参阅 setFlags() 方法。