Activity多级回跳
//重写PresentActivity中的onActivityResult方法,对返回结果进行响应
@Override
protected void onActivityResult(int requestCode , int resultCode , Intent data ){
switch (requestCode){
case targetActivityRequestCode :
if( resultCode == 1){
String payResult = data.getStringExtra("PayResult");
if(payResult.equals("...")) {
//onBackPressed();
finish();
}
}
}
}
//启动目标Activity(要点:使用startActivityForResult方法启动)
Intent intent = new Intent(PresentActivity, TargetActivity.class);
intent.putExtra("Key", value);
startActivityForResult(intent,requestCode);//requestCode用作标记返回信息来自哪个TargetActivity
//((Activity)mContext).startActivityForResult(intent,1);//adapter启动需要对mContext进行强制类型转换
//TargetActivity的返回跳转
private void backLastActivity(boolean paySuccess) {
Intent intent = new Intent();
if (paySuccess) {
intent.putExtra("PayResult", "Success");
} else {
intent.putExtra("PayResult", "Fail");
}
setResult(RESULT_OK, intent);
finish();
}