所以今天我有一个相当简单的问题。在我按下后退按钮的主要活动中,我希望我开发的应用程序无论以前做了什么都要关闭。并删除堆栈,以便下次重新打开。
活动的工作方式如下:
A(主菜单)
这里有4个按钮,可以进行4种不同的活动 B(关于), C(更改主题), D(使用美国测量计算BMI) , E(使用欧盟测量计算BMI)
D和E都导致 F(结果)。
当我在F中并按回来时我想回到之前的(D或E) - 这是固定的,为了方便,它保留了最后输入的信息。
在F活动上,有一个按钮可直接返回菜单。如果我按下此按钮然后标准的android后退按钮,我将从A到D / E再到A再次关闭应用程序之前。
当我在B,C,D,E时,我想回到A. 当我在A时,我想关闭应用程序。
每个人的设置是:
A - onBackPressed() - Here I want to put to turn off the application.
onClickA/B/C/D()
{
Intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(Intent);
finish();
}
B - android:noHistory(true)
onBackPressed()
{
Start New Intent A.
}
C - android:noHistory(true)
onBackPressed()
{
Start New Intent A (so the changes take effect on the Main Menu even if you press back).
}
D - onBackPressed()
{
Start New Intent A
finish();
}
E - onBackPressed()
{
Start New Intent A
finish();
}
F - Nothing specific.
答案 0 :(得分:0)
您可以使用System.exit(0)方法onBackPress()
答案 1 :(得分:0)
首先,你可能想要切换到片段,因为你在这里做的事情看起来不那么完整,所以这里需要一个活动。 如果您切换到片段,则可以轻松地将这些片段添加到您想要返回的后台堆栈中。 这样你只需要覆盖onBackPressed()一次。