[英]Exit the app when back button in device is clicked
我的应用程序中有3个活动。
Activity A(Main Page) -> Activity B -> Activity C.
单击活动C中的“提交” button
后,它将再次返回到活动A。 当我单击设备中的后退按钮退出应用程序时,它将再次返回到活动C ,然后返回到B和A ,然后只能退出。
当在活动A中按下设备中的后退按钮时,有没有办法让该应用立即退出?
我在活动A中添加了以下代码,但问题是它仍然转到活动C而不是退出。
boolean doubleBackToExitPressedOnce = false;
@Override
public void onBackPressed() {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}
this.doubleBackToExitPressedOnce = true;
Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce=false;
}
}, 2000);
}
可能当您提交活动C而不是关闭活动C时,您将再次打开活动A。 因此,请执行以下操作:从活动B的结果开始活动C,当您在活动C上提交时,调用setResult(),然后在活动C上调用finish(),然后在活动B中覆盖onActivityResult(),并且从活动C获得结果在活动B上调用finish()。然后返回活动A,如果按回去,则APP将关闭。 :) 希望这可以帮助
我也遇到过同样的情况。 基本上,我有HelloActivity(用于登录/注册),当使用完成后,他们进入MainActivity。 单击MainActivity的后退按钮时,我不希望用户转到HelloActivity。 为了做到这一点,我要做的就是在意图传递给MainActivity时调用finish()。 这是一个例子:
Intent intent = new Intent(this, MainAcivity.class);
startActivity(intent);
finish();
谢谢大家的回答和评论。我已经通过使用以下代码解决了它
public void onBackPressed(){
Intent a = new Intent(Intent.ACTION_MAIN);
a.addCategory(Intent.CATEGORY_HOME);
a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(a);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.