假设我有一个主要活动FirstActivity
(当我按下后退按钮时,它只关闭应用程序)我还有另一个名为SecondActivity
的活动(当用户登录时,FirstActivity会转到此在)。现在,当我按下后退按钮时,它会转到FirstActivity
,而不是关闭应用程序。有没有办法可以从SecondActivity
关闭应用程序,忽略后台堆栈上的任何活动?我用来关闭SecondActivity
中的应用的回调方法:
@Override
public void onBackPressed() {
finish();
}
答案 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();
}
}