如何在第二个活动中使用后退按钮关闭应用程序?

时间:2014-01-29 02:32:02

标签: android android-activity

假设我有一个主要活动FirstActivity(当我按下后退按钮时,它只关闭应用程序)我还有另一个名为SecondActivity的活动(当用户登录时,FirstActivity会转到此在)。现在,当我按下后退按钮时,它会转到FirstActivity,而不是关闭应用程序。有没有办法可以从SecondActivity关闭应用程序,忽略后台堆栈上的任何活动?我用来关闭SecondActivity中的应用的回调方法:

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

2 个答案:

答案 0 :(得分:4)

最好的办法是在SecondActivity中启动FirstActivity时,执行此操作:

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

使用此功能,FirstActivity将在创建SecondActivity时销毁。

答案 1 :(得分:0)

您可以使用startActivityForResult之类的内容,就像我在this question中所做的那样,或者您可以做我在这里所做的事情:

public class FirstActivity {
    public static boolean close = false;    

    @Override
    public void onResume()
    {
        super.onResume();
        if (close) {
            finish();
        }
    }
}

public class SecondActivity {

    @Override
    public void onBackPressed() {
        FirstActivity.close = true;
        finish();
    }
}