艾特商业网

🚀 startActivityForResult用法 📱

更新时间:2025-04-01 04:25:23

导读 在Android开发中,`startActivityForResult()` 是一个非常实用的方法,用于启动一个新的Activity并等待其返回结果。简单来说,就是从当前...

在Android开发中,`startActivityForResult()` 是一个非常实用的方法,用于启动一个新的Activity并等待其返回结果。简单来说,就是从当前页面跳转到另一个页面,等对方处理完后带回数据。✨

首先,你需要调用 `startActivityForResult(intent, requestCode)` 来启动目标Activity。其中,`intent` 是你设置的意图,`requestCode` 是请求码,用来标识这次请求。比如:

```java

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

startActivityForResult(intent, 100);

```

当目标Activity完成任务后,会通过 `setResult()` 返回结果,并调用 `finish()` 结束自身。此时,原Activity会回调 `onActivityResult()` 方法,接收返回的数据。例如:

```java

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (requestCode == 100 && resultCode == RESULT_OK) {

String result = data.getStringExtra("result");

// 处理返回值

}

}

```

这种方式非常适合需要交互的场景,比如选择图片或拍照。💡

⚠️ 注意:从API 26开始,推荐使用 `startActivityForResult()` 的替代方案——`registerForActivityResult()`,以提高灵活性和性能哦!💪

免责声明:本文由用户上传,如有侵权请联系删除!