如何在按下后退按钮时退出应用程序
How to exit an app when Back Button is pressed
这是一个小问题,但我发现很难解决。我有多项活动。例如 A B 和 C。当应用程序启动时,A 打开并单击按钮会将我重定向到 activity B,然后从 B 单击另一个按钮将带我到 C。按下后退现在将带我回到 B 并再次按下后退按钮将带我到主要 Activity 的 A。
现在,如果我按下后退按钮,应用程序应该退出...它会在 B 和 A 之间创建循环,并且永远不会退出应用程序。
下面的方法我已经用过了
方法一:
使用 this.finish
onBackPressed 没有帮助
方法二:
在清单
中使用 android:nohistory = true
但如果我这样做,那么从 C activity 它将直接带我到我不想要的 A。
方法二。
使用
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 之间创建循环 Activity。
您的代码(在 MainActivity 中)不正确,请将 finish() 放在 super.onBackPressed()[=11= 之后]
必须是:
@Override
public void onBackPressed() {
super.onBackPressed();
finishAffinity(); // or finish();
}
这是一个小问题,但我发现很难解决。我有多项活动。例如 A B 和 C。当应用程序启动时,A 打开并单击按钮会将我重定向到 activity B,然后从 B 单击另一个按钮将带我到 C。按下后退现在将带我回到 B 并再次按下后退按钮将带我到主要 Activity 的 A。
现在,如果我按下后退按钮,应用程序应该退出...它会在 B 和 A 之间创建循环,并且永远不会退出应用程序。
下面的方法我已经用过了
方法一:
使用 this.finish
onBackPressed 没有帮助
方法二: 在清单
中使用android:nohistory = true
但如果我这样做,那么从 C activity 它将直接带我到我不想要的 A。
方法二。 使用
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 之间创建循环 Activity。
您的代码(在 MainActivity 中)不正确,请将 finish() 放在 super.onBackPressed()[=11= 之后]
必须是:
@Override
public void onBackPressed() {
super.onBackPressed();
finishAffinity(); // or finish();
}