这是一个小问题,但我很难解决。我有多个活动。例如AB和C。启动应用程序后,A打开并单击按钮将我重定向到活动B,然后从B单击另一个按钮将我带到C。在Back上按下,现在将我带回B并再按一次“返回”按钮将把我带到A,这是主要的活动。
现在,如果我按“后退”按钮,则应用程序应该退出...它将在B和A之间创建循环,并且永远不会退出应用程序。
我已经使用了以下方法
方法1:
使用this.finish
onBackPressed并没有帮助
方法2: 在清单
中使用android:nohistory = true
但是如果我这样做了,那么从C活动中,它将直接带我到我不想要的A。
方法2。
的使用 Intent intent = new Intent(Intent.ACTION_MAIN);
//to clear all old opened activities
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
请任何人帮助。
这是我现在在Mainactivity中的代码
@Override
public void onBackPressed() {
finish();
super.onBackPressed();
}
但是它也不起作用,并且在A和B活动之间创建了循环。
答案 0 :(得分:2)
您的代码(在MainActivity中)不正确,将 finish()放在 super.onBackPressed()
之后它必须是:
@Override
public void onBackPressed() {
super.onBackPressed();
finishAffinity(); // or finish();
}