使用 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);
}
我有两个活动。在从第一个启动 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);
}