Android onBackPressed不会退出

时间:2016-11-20 11:16:07

标签: android

我的应用中的onBackPressed方法存在问题。 问题是,当我按下它时,它会转到最后一个活动,而不是退出。

这是我的代码:

Private boolean doubleBackToExitPressedOnce = false;
@Override
public void onBackPressed() {
    if (doubleBackToExitPressedOnce) {
        super.onBackPressed();

    }
    this.doubleBackToExitPressedOnce = true;
    Toast.makeText(this,           
R.string.exit_press_back_message,                
Toast.LENGTH_LONG).show();
}

3 个答案:

答案 0 :(得分:0)

通常情况下,如果你不想回到最后一次活动,你必须打电话给完成。例如,您正在另一个活动之外开始新活动,如果您不打电话,则此活动会保持活动状态。为了让您的期望有所帮助,只需在您开展另一项活动的活动中调用此类完成:

Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
finish();

修改

不清楚你究竟在问什么。从你的评论现在我猜你的活动不会完成。问题出在这里:

  if (doubleBackToExitPressedOnce) {
        super.onBackPressed();
    }

你制作了一个全局布尔值

Private boolean doubleBackToExitPressedOnce = false;

但是如果你永远不会改变这个值,你的背压将永远不会完成活动。 if (doubleBackToExitPressedOnce)表示此值是true ....但不是因为您将其初始化为false,如果您稍后没有进行更改,例如doubleBackToExitPressedOnce = true;则保持为false。

答案 1 :(得分:0)

  • 首先完成之前的所有活动,然后再启动双击退出
  • 的活动

然后您的代码将起作用

答案 2 :(得分:0)

super.onBackPressed()不会结束该应用。它只会结束当前的活动。 您需要调用this.finishAffinity()来关闭应用程序。