我有4个活动A -> B-> C -> D
从活动D
中我想回到B
这是代码
manifest:
<activity android:name=".GetAttendance" android:launchMode="singleTask"/>
。
Activity D
Intent intent = new Intent(AddNewGuest.this, GetAttendance.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("guest", temp);// temp is an object
setResult(600, intent);
startActivity(intent);
关于活动B
,我正在打电话:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
System.out.println("requestCode:"+requestCode+" resultCode:"+resultCode);
}
但是我收到的requestCode
等于 1000 ,它是我发送给它的 600
但是,当活动B
调用C
时,在转到D
之前,我将请求代码设置为1000 startActivityForResult(intent, 1000);
答案 0 :(得分:0)
您发送的requestCode为1000,可以从您的startActivityForResult(intent, 1000);
语句中看到
您原本希望是600,但是调用setResult(600, intent);
会将结果代码设置为600
这是不同的,因为您期望输入请求代码,而600则是结果代码