onActivityResult是Android开发中的一个方法,用于处理Activity之间的数据传递和结果返回。当一个Activity启动另一个Activity并期望获取后者的返回结果时,可以使用onActivityResult方法来处理返回的结果。
在使用onActivityResult方法时,需要在启动Activity的地方使用startActivityForResult方法来启动目标Activity,并传递一个请求码(requestCode)。目标Activity在完成任务后,可以通过setResult方法设置返回结果,并在返回之前调用finish方法来关闭自身。
在调用startActivityForResult方法的Activity中,可以重写onActivityResult方法来处理返回的结果。onActivityResult方法接收三个参数:requestCode、resultCode和data。其中,requestCode是之前传递的请求码,resultCode是目标Activity设置的结果码,data是包含返回数据的Intent对象。
下面是一个示例代码:
// 启动目标Activity
Intent intent = new Intent(MainActivity.this, TargetActivity.class);
startActivityForResult(intent, REQUEST_CODE);
// 处理返回结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_OK) {
// 处理成功返回的结果
String result = data.getStringExtra("result");
// ...
} else if (resultCode == RESULT_CANCELED) {
// 处理取消操作的情况
// ...
}
}
}
在上述示例中,MainActivity启动了TargetActivity,并传递了一个请求码REQUEST_CODE。在TargetActivity中,可以通过setResult方法设置返回结果,并在返回之前调用finish方法关闭自身。在MainActivity中,重写onActivityResult方法,根据requestCode和resultCode来处理返回的结果。
onActivityResult方法的处理逻辑可以根据具体的业务需求进行定制,例如根据resultCode判断操作是否成功,根据data获取返回的数据等。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云