在 Android 中,Intent(意图)是一种用于在不同组件之间传递消息的对象。它主要用于实现应用内部的通信,如启动活动(Activity)、启动服务(Service)、发送广播(Broadcast)等。Intent可以包含关键信息,例如要执行的操作、数据传递、或者指示要启动的组件。
在 Android 中,Intent可以分为两种主要类型:
显式Intent(Explicit Intent):
- 显式Intent指定了要启动的目标组件的类名。这种Intent主要用于在应用内部的不同组件之间进行通信。例如,启动另一个活动或服务。
- 示例:
Intent explicitIntent = new Intent(CurrentActivity.this, TargetActivity.class); startActivity(explicitIntent);
隐式Intent(Implicit Intent):
- 隐式Intent没有明确指定要启动的组件,而是通过指定动作(Action)、数据(Data)、类别(Category)等信息,由系统选择合适的组件来执行操作。这种方式允许不同应用之间进行通信。
- 示例:
Intent implicitIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.example.com")); startActivity(implicitIntent);
Intent的主要属性和组成部分:
Action(动作): 指定Intent的操作,例如
ACTION_VIEW
表示查看数据,ACTION_SEND
表示发送数据等。Data(数据): 指定Intent的数据,例如一个网址、文件的URI等。
Type(类型): 指定Intent的数据类型,例如
text/plain
表示纯文本,image/jpeg
表示JPEG图像等。Category(类别): 表示Intent的附加信息,例如
CATEGORY_LAUNCHER
表示主屏幕上的启动器图标。Component(组件): 仅在显式Intent中使用,指定要启动的组件的类名。
使用Intent,开发者可以实现不同组件之间的通信和协作,使得Android应用的各个部分能够相互启动、交互和传递数据。