我是Android编程的新手,所以我可能会错过一些重要的事情。
我想做的是完成当前活动(ActivityB)和上一个活动(ActivityA)。
用户可以使用FLAG_ACTIVITY_REORDER_TO_FRONT
在ActivityA和ActivityB之间切换。现在,我要完成ActivityB
和先前的ActivityA
并开始新的ActivityA
。
但是,即使完成ActivityA
之后,似乎以前的ActivityB
仍在运行。
代码是这样的。ActivityA
private void startActivityB() {
Intent intent =
new Intent(ActivityA.this, ActivityB.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
}
ActivityB
private void exitActivityB() {
Intent intent =
new Intent(ActivityB.this, ActivityA.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
@Override
private void onBackPressed() {
// finish ActivityB and the previous ActivityA
Intent intent =
new Intent(ActivityB.this, ActivityA.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
}
我有什么错吗?如何完成上一个
ActivityA
并开始新的ActivityA
? 最佳答案
尝试以下方式
Intent i = new Intent(ActivityB.this, ActivityA.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);