我是 Android 编程新手,所以我可能会错过一些重要的东西。
我想要做的是完成当前 Activity (ActivityB)和上一个 Activity (ActivityA)。
用户可以使用 FLAG_ACTIVITY_REORDER_TO_FRONT 在 ActivityA 和 ActivityB 之间切换。现在我想完成 ActivityB
和之前的 ActivityA
并开始新的 ActivityA
。
但是,即使在完成 ActivityB
后,之前的 ActivityA
似乎仍在运行。
代码是这样的。
Activity A
private void startActivityB() {
Intent intent =
new Intent(ActivityA.this, ActivityB.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
}
Activity B
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);
关于java - Android:使用 FLAG ACTIVITY CLEAR TOP 时上一个 Activity 未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55016125/