这是我想要完成的活动流程:
A > B > C > (完成B& C)>的 d
用户可以从C导航回B.但是一旦我开始D,用户只能返回A.
我怎样才能做到这一点?
答案 0 :(得分:0)
您可以尝试如下。
使用startActivityForResult
开始每项活动,并从活动 D 发送一个值。检查onActivityResult
活动方法 B 和 C 中的值。如果您找到该值,则完成活动并将结果发送到其父活动,但活动 A 除外。
答案 1 :(得分:0)
活动A可以关闭并重新打开吗?如果是这样,那么你可以这样做:
<强> A-&GT;乙强>
Intent intent = new Intent(context, BActivity.class);
startActivity(intent);
<强> B-&以及c 强>
Intent intent = new Intent(context, CActivity.class);
startActivity(intent);
<强> C-&GT; d 强>
Intent intent = new Intent(context, DActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
<强> D-&gt;一种强>
堆栈已清除,因此您必须覆盖onBackPressed()
@Override
public void onBackPressed() {
Intent intent = new Intent(context, AActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}