1. 启动Activity
- `Intent` 最常见的用途之一是用于启动一个新的 Activity。通过 `startActivity(Intent)` 方法,可以将一个 `Intent` 对象传递给系统,从而启动指定的目标 Activity。
- 示例代码:
```java
Intent intent = new Intent(CurrentActivity.this, TargetActivity.class);
startActivity(intent);
```
2. 数据传递
- 在启动新的 Activity 或服务时,`Intent` 可以携带数据。这些数据通常以键值对的形式存储在 `Intent` 中,并可以通过 `putExtra(String key, Object value)` 方法添加。
- 示例代码:
```java
Intent intent = new Intent(CurrentActivity.this, TargetActivity.class);
intent.putExtra("name", "John");
intent.putExtra("age", 25);
startActivity(intent);
```
3. 启动Service
- `Intent` 还可以用来启动后台服务(Service)。通过调用 `startService(Intent)` 或 `bindService(Intent, ServiceConnection, int)` 方法,可以让系统知道需要运行某个特定的服务。
- 示例代码:
```java
Intent intent = new Intent(CurrentActivity.this, MyService.class);
startService(intent);
```
4. 广播通信
- 在 Android 中,`Intent` 还可以用作广播(Broadcast)的载体,用于在不同组件之间传递消息。通过发送广播,可以在应用程序的不同部分或者多个应用之间实现通信。
- 示例代码:
```java
Intent intent = new Intent("com.example.ACTION_NOTIFY");
sendBroadcast(intent);
```
5. 请求结果返回
- 当需要从子 Activity 返回结果到父 Activity 时,`Intent` 可以配合 `startActivityForResult(Intent, int)` 使用。父 Activity 可以通过重写 `onActivityResult(int requestCode, int resultCode, Intent data)` 方法来接收子 Activity 返回的结果。
- 示例代码:
```java
Intent intent = new Intent(CurrentActivity.this, ResultActivity.class);
startActivityForResult(intent, REQUEST_CODE);
```
总结
`Intent` 是 Android 开发中不可或缺的一部分,它的主要作用包括启动 Activity、传递数据、启动 Service、广播通信以及请求结果返回等。熟练掌握 `Intent` 的使用对于构建功能丰富且高效的 Android 应用至关重要。
希望以上内容能够帮助开发者更好地理解 `Intent` 的核心功能及其应用场景!