在android中注销后阻止后退按钮

Smi*_*ily 3 java android

注销后,用户将被定向到android中的登录屏幕.现在,如果用户点击手机的后退按钮,它应该保持在登录屏幕上.

我怎样才能在android中实现它?
我在我的应用程序中使用了以下代码,但它将关闭我的应用程序.它应该只保留在登录屏幕上

Intent objsignOut = new Intent(getBaseContext(),Hello.class);
objsignOut.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(objsignOut);
Run Code Online (Sandbox Code Playgroud)

请指导我正确的方法.

Ner*_*een 8

覆盖onBackPressed你的登录活动,什么都不做..

public void onBackPressed() {
    //do nothing
}
Run Code Online (Sandbox Code Playgroud)

  • 这是误导性的 - 当您第一次打开应用程序时,无法使用后退按钮返回系统.更安全的是在启动活动中使用标志 - > http://stackoverflow.com/a/14697271/2140160 (4认同)

Dea*_*itz 5

在我看来,有比重写 onBackPressed 方法更简单、更干净的解决方案,如此处此处所述

您可以在启动新活动(登录或注销时)时提供标志,以简单地清除“后退堆栈”,而不是覆盖后退按钮的行为:

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

这是一种更安全的解决方案,也可以在登录后使用,而不仅仅是在注销后使用。