onActivityResult()的具体使用
时间: 2024-05-05 19:20:48 浏览: 94
Android学习小结之获取被启动的Activity传回的数据
`onActivityResult()` 是 Android 中的一个回调方法,它在一个 Activity 结束后返回结果时被调用。
使用 `onActivityResult()` 的步骤如下:
1. 在启动 Activity 的地方调用 `startActivityForResult()` 方法,该方法接受一个 Intent 对象和一个请求码(requestCode)作为参数:
```
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
```
2. 在被启动的 Activity 中设置返回结果,并调用 `setResult()` 方法:
```
Intent intent = new Intent();
intent.putExtra("result", "Hello from SecondActivity");
setResult(RESULT_OK, intent);
finish();
```
3. 在启动 Activity 的地方重写 `onActivityResult()` 方法,获取返回结果:
```
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
// 处理返回结果
}
}
```
在这个例子中,我们使用了一个请求码 `REQUEST_CODE` 来标识这个返回结果,用 `setResult()` 方法将结果返回给调用方,并在 `onActivityResult()` 方法中根据请求码和返回码来判断是否是期望的返回结果,最后获取返回的数据并进行处理。
需要注意的是,如果被启动的 Activity 异常关闭或调用了 `finish()` 方法,而没有调用 `setResult()` 方法返回结果,则 `onActivityResult()` 方法将不会被调用。
阅读全文