使用finishActivity()时,请求代码指的是一个整数值,用于标识发送该请求的活动。当使用该方法关闭一个活动时,可以传递一个请求代码作为参数,以便在活动被关闭后,接收该请求的活动可以根据不同的请求代码执行相应的逻辑。
请求代码通常用于在活动之间进行数据传递和结果返回。发送请求的活动可以使用startActivityForResult()方法启动另一个活动,并指定一个请求代码。在另一个活动中,当完成相关操作后,通过调用setResult()方法设置结果,并将结果和请求代码一起返回给发送请求的活动。然后,发送请求的活动会调用onActivityResult()方法,通过判断请求代码来处理不同的结果逻辑。
以下是一个示例代码,演示了使用finishActivity()和请求代码的简单用法:
// 发送请求的活动
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 启动另一个活动并传递请求代码
Intent intent = new Intent(MainActivity.this, SecondActivity.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) {
// 处理成功的结果
} else if (resultCode == RESULT_CANCELED) {
// 处理取消的结果
}
}
}
}
// 接收请求的活动
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
// 处理请求并设置结果
Intent intent = new Intent();
setResult(RESULT_OK, intent);
// 关闭当前活动,并传递结果和请求代码
finishActivity(REQUEST_CODE);
}
}
上述代码中,MainActivity启动了SecondActivity,并传递了请求代码REQUEST_CODE。在SecondActivity中,处理了相关请求,并设置了结果。然后使用finishActivity()关闭当前活动,并传递结果和请求代码。最后,在MainActivity的onActivityResult()方法中根据请求代码来处理不同的结果逻辑。
值得注意的是,请求代码可以根据具体的业务需求定义为不同的整数值,并根据实际情况进行处理。
领取专属 10元无门槛券
手把手带您无忧上云