我是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);

08-18 10:34
查看更多