startActivityForResult方法已经过时,其替代方法是什么,如何用代码实现
时间: 2024-05-15 11:13:28 浏览: 81
`startActivityForResult`方法已经被废弃(deprecated),可以使用`startActivity`方法替代。使用`startActivity`方法启动一个新的Activity,然后在新的Activity中设置结果,最后在`onActivityResult`方法中获取结果。
以下是使用`startActivity`方法来打开一个新的Activity,并在新的Activity中设置结果的示例代码:
```java
// 启动另一个Activity
Intent intent = new Intent(this, AnotherActivity.class);
startActivity(intent);
// 在另一个Activity中设置结果
Intent resultIntent = new Intent();
resultIntent.putExtra("result", "some_result");
setResult(Activity.RESULT_OK, resultIntent);
finish();
```
在原来的Activity中,重写`onActivityResult`方法来获取结果:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
// 处理结果
}
}
```
其中`REQUEST_CODE`是一个自定义的请求码,用于标识请求的来源。
阅读全文