引言

 Android Activity 跳转详解 Android Activity 跳转详解


Android Activity 跳转详解


在 Android 应用开发中,Activity 是用于呈现用户界面和处理用户交互的组件。通常,应用中需要在多个 Activity 之间进行跳转以提供不同的功能或信息。本文将详细介绍在 Android 中跳转 Activity 的方法。

1. 显式跳转

显式跳转是最直接的方法,它明确指定要跳转的目标 Activity。使用以下代码进行显式跳转:

```ja Intent intent = new Intent(this, TargetActivity.class); startActivity(intent); ```

其中,`TargetActivity.class` 是目标 Activity 的类名。

2. 隐式跳转

隐式跳转允许应用程序指定要执行的动作,而不是特定目标 Activity。它由系统根据用户设备上已安装的应用程序来确定适当的 Activity。使用以下代码进行隐式跳转:

```ja Intent intent = new Intent("com.example.myapp.action"); startActivity(intent); ```

其中,`"com.example.myapp.action"` 是自定义 action,它将识别具有匹配意图过滤器的 Activity。

3. 附带数据跳转

在跳转 Activity 时,可以传递数据以便在目标 Activity 中使用。通过使用 `putExtra` 方法将数据附加到意图对象:

```ja Intent intent = new Intent(this, TargetActivity.class); intent.putExtra("key", value); startActivity(intent); ```

在目标 Activity 中,可以通过 `getIntent` 方法获取传递的数据:

```ja Bundle extras = getIntent().getExtras(); String value = extras.getString("key"); ```

4. 带回调的跳转

在某些情况下,需要在目标 Activity 完成任务后返回调用 Activity。为此,可以使用带回调的跳转:

```ja Intent intent = new Intent(this, TargetActivity.class); startActivityForResult(intent, REQUEST_CODE); ```

在目标 Activity 中,使用 `setResult` 方法设置返回结果:

```ja setResult(RESULT_OK, new Intent().putExtra("key", value)); finish(); ```

在调用 Activity 中,通过 `onActivityResult` 方法获取返回结果:

```ja @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) { String value = data.getStringExtra("key"); } } ```

结论