应用程序看起来像这样: MainActivity -> UserActivity -> DetailsActivity。 ( Activity 的大致顺序)。
我想在 DetailsActivity(行中的第三个 Activity )中单击后退按钮时关闭应用程序。
想知道这样做是否是一种好习惯以及最好的方法是什么?
最佳答案
如果我理解正确,即使堆栈不为空,您也想关闭 Activity ,这意味着堆栈中有超过 1 个 Activity ?
好吧,如果只有一个……就:
finish();
否则诀窍是:
Intent intent = new Intent(Main.this, Main.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
在 onCreate
的同一 Activity 中:
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
所以你清除堆栈然后杀死剩下的一个......你可以在任何 Activity 中执行此操作,当然在 onBackPressed
中使用它:)
关于Android 在返回按钮上关闭应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19109529/