如何清除按钮上的活动堆栈在Android中单击

时间:2011-10-03 12:37:42

标签: android

我有一个问题,我在我的应用程序中有一个注销按钮,我们在其上调用了应用程序登录屏幕但此时当用户按下Android手机的后退按钮时,他再次进入应用程序而没有身份验证,这是不可取。我希望当我们点击Logout按钮时,所有之前的活动堆栈都被清除,或者我们可以说所有以前的onPause活动都必须被清除。

请建议我解决此问题的正确方法。

提前致谢。

3 个答案:

答案 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();