我的应用中的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();
}
答案 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()来关闭应用程序。