单击设备中的后退按钮时退出应用程序

时间:2016-02-12 16:40:57

标签: java android button

我的应用中有3项活动。

Activity A(Main Page) -> Activity B -> Activity C.

点击活动C 时提交button,它将再次返回活动A 。当我点击设备中的后退按钮退出应用程序时,它将再次返回活动C ,然后 B A ,然后才能出口。

  

有没有办法让应用程序在后退按钮时立即退出   在活动A中按下设备?

我在活动A 中添加了以下代码,但问题是它仍然转到活动C 而不是退出。

boolean doubleBackToExitPressedOnce = false;

@Override
public void onBackPressed() {
    if (doubleBackToExitPressedOnce) {
        super.onBackPressed();
        return;
    }

    this.doubleBackToExitPressedOnce = true;
    Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();

    new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
            doubleBackToExitPressedOnce=false;                       
        }
    }, 2000);
} 

3 个答案:

答案 0 :(得分:1)

当您提交活动C而不是关闭活动时,您可能会再次打开活动A.所以执行以下操作:从活动B的结果开始活动C,当您在活动C上提交调用setResult()然后在活动C上调用finish()然后覆盖活动B中的onActivityResult()以及从活动C获取结果时在活动B上调用finish()然后你回到活动A,如果你回按,你的APP将关闭。 :)希望这有帮助

答案 1 :(得分:1)

我遇到了同样的情况。基本上我有HelloActivity(用于登录/注册),当使用完成登录后,他们转到MainActivity。单击MainActivity中的后退按钮时,我不希望用户转到HelloActivity。为了做到这一点,我所要做的只是在意图MainActivity期间调用finish()。下面是一个例子:

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

答案 2 :(得分:0)

感谢大家的回答和评论。我已经通过使用以下代码解决了这个问题

 public void onBackPressed(){
        Intent a = new Intent(Intent.ACTION_MAIN);
        a.addCategory(Intent.CATEGORY_HOME);
        a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(a);

    }