按下后退按钮时如何退出应用程序

时间:2018-09-17 20:31:57

标签: java android onbackpressed

这是一个小问题,但我很难解决。我有多个活动。例如AB和C。启动应用程序后,A打开并单击按钮将我重定向到活动B,然后从B单击另一个按钮将我带到C。在Back上按下,现在将我带回B并再按一次“返回”按钮将把我带到A,这是主要的活动。

现在,如果我按“后退”按钮,则应用程序应该退出...它将在B和A之间创建循环,并且永远不会退出应用程序。

我已经使用了以下方法

方法1: 使用this.finish onBackPressed并没有帮助

方法2: 在清单

中使用android:nohistory = true

但是如果我这样做了,那么从C活动中,它将直接带我到我不想要的A。

方法2。

的使用
      Intent intent = new Intent(Intent.ACTION_MAIN);
        //to clear all old opened activities 
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
        finish();

当我使用它时,每次在设备中打开它时 enter image description here

请任何人帮助。

这是我现在在Mainactivity中的代码

 @Override
    public void onBackPressed() {
           finish();
            super.onBackPressed();
        }

但是它也不起作用,并且在A和B活动之间创建了循环。

1 个答案:

答案 0 :(得分:2)

您的代码(在MainActivity中)不正确,将 finish()放在 super.onBackPressed()

之后

它必须是:

@Override
public void onBackPressed() {
    super.onBackPressed();
    finishAffinity(); // or finish();
}