startActivityForResult过时了
时间: 2024-01-09 07:13:17 浏览: 68
是的,`startActivityForResult()` 方法在 Android API level deprecated in API level deprecated in API level deprecated in API level deprecated in API level deprecated in API level deprecated in API level deprecated in API level 28.
现在,推荐使用 `startActivity()` 方法来启动一个 Activity,并通过 `Intent` 的一些附加信息来传递数据。然后,在目标 Activity 中,可以使用 `setResult()` 方法设置返回结果,并在 `onActivityResult()` 方法中接收结果。
以下是一个示例代码:
```java
// 启动目标 Activity
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("key", value);
startActivity(intent);
// 在目标 Activity 中设置返回结果
Intent resultIntent = new Intent();
resultIntent.putExtra("result", resultValue);
setResult(Activity.RESULT_OK, resultIntent);
finish();
// 在调用 startActivityForResult() 的 Activity 中接收返回结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
// 处理返回结果
String result = data.getStringExtra("result");
// ...
}
}
```
这种方法提供了更灵活的方式来处理 Activity 之间的通信和数据传递。
阅读全文