步骤1:启动活动以获取结果 A -> B -> C1 -> C2..
使用 startActivityForResult 调用您的活动
Intent intent = new Intent(yourActivity.this, nextActivity.class);
startActivityForResult(intent, 1);
步骤2:在C2中指定您要返回到A。
无论何时完成活动,请编写以下代码
Intent i = getIntent();
i.putString("Result","GottoA");
setResult(Activity.RESULT_OK, i);
finish();
步骤3:每当C2完成时,先前的堆栈活动onActivityResult会被调用。因此,您可以在C1和B的onActivityResult中检查是否已设置任何结果,并相应地完成并实现以下代码在Activity B和C中。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Intent i = getIntent();
if (resultCode == RESULT_OK && i.getString("Result","null").equals"GottoA") {
i.putString("Result","GottoA");
setResult(RESULT_OK, i);
finish();
}
}
Intent.FLAG_ACTIVITY_CLEAR_TOP
标志并启动活动A。请查看blahdiblah的答案。 - M-Wajeeh