我有一个问题,我在我的应用程序中有一个注销按钮,我们在其上调用了应用程序登录屏幕但此时当用户按下Android手机的后退按钮时,他再次进入应用程序而没有身份验证,这是不可取。我希望当我们点击Logout按钮时,所有之前的活动堆栈都被清除,或者我们可以说所有以前的onPause活动都必须被清除。
请建议我解决此问题的正确方法。
提前致谢。
答案 0 :(得分:1)
据我所知,登录界面将是第一个屏幕,因此如果登录屏幕在堆栈中,您可以再次调用登录屏幕,如下所示
Intent launch = new Intent(context, LoginActivity.class);
launch.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(launch);
答案 1 :(得分:0)
注销后启动登录活动,如下所示:
Intent launch = new Intent(context, LoginActivity.class);
launch.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(launch);
您需要使用标记FLAG_ACTIVITY_NEW_TASK
。
答案 2 :(得分:0)
替代解决方案是在您启动登录活动后调用finish();
来结束当前活动
// logout button handler
startActivity(new Intent(context, LoginActivity.class));
finish();