使用 FLAG_ACTIVITY_REORDER_TO_FRONT 在活动之间切换会导致循环

Switching between activities using FLAG_ACTIVITY_REORDER_TO_FRONT causes a loop

我有两个活动。在从第一个启动 SecondActivity 之前,我使用 FLAG_ACTIVITY_REORDER_TO_FRONT。在从 SecondActivity 返回到 FirstActivity 之前,我还使用 FLAG_ACTIVITY_REORDER_TO_FRONT。我需要使用这些标志,因为我希望用户从他们离开的地方继续。

这显然会导致循环。每次按下后退按钮时,我都会从 FirstActivity 转到 SecondActivity 再到 FirstActivity 再到 SecondActivity 等等。

我的问题是我希望用户在 FirstActivity 中按下后退按钮时能够关闭应用程序。但目前他们只是回到了 SecondActivity。

如果我在 FirstActivity 中但仍保留保存两个 Activity 状态的功能,我该如何关闭应用程序?

我找到了自己的答案。我在 FirstActivity 中使用了它并且它起作用了。希望这对某人有所帮助!

public void onBackPressed() {
        Intent startMain = new Intent(Intent.ACTION_MAIN);
        startMain.addCategory(Intent.CATEGORY_HOME);
        startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(startMain);
    }