startActivityForResult(new Intent(CurrentActivity.this, TargetActivity.class),requestCode);
目标activity关闭
setResult(resultcode) TargetActivity.this.finish();
返回到初始Activity后,处理方法
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //可以根据requestCode或者resultCode判断逻辑 }
之前做项目的时候,TargetActivity启动方式默认设置为singleTask,设置的resultCode不能被CurrentActivity接受到。所以如果TargetActivity没什么特殊业务,可以直接在CurrentActivity根据requestCode做逻辑处理。
但是在android5.0系统上,可以接受到启动模式为singleTask的目标activity的resultCode,没有具体研究为何