如何在android中清除backstack?

时间:2016-05-17 08:47:01

标签: android

我有一个启动画面并且有主要活动,场景是在主活动中有一个条件,检查登录是否真实,并有一个"登录"活动并有一个名为" B&#34 ;.当我按下设备后退按钮"登录"活动它主要活动来了。当我在登录活动中按设备后退按钮时,我不希望我想要关闭应用程序。

这是我在登录活动中按下后台的代码: -

@Override
public void onBackPressed() {
    if (doubleBackToExitPressedOnce) {
        super.onBackPressed();
        return;
    }
    this.doubleBackToExitPressedOnce = true;
    Toast.makeText(this, "Please  again to exit", Toast.LENGTH_SHORT).show();
    new Handler().postDelayed(new Runnable() {

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

2 个答案:

答案 0 :(得分:3)

在Intent创建者活动中使用finish()方法。

如果您有2个活动 - A和B,A通过Intent启动B,而不返回A,A中的Intent将如下所示:

 Intent i = new Intent();
                i.setClass(context, MainActivity.class);
                startActivity(i);

                // close this activity
                finish();

答案 1 :(得分:0)

写下以下几行

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

在这里,在按下时,将调用上述方法,它将完成活动。