我的应用程序中的所有活动都有注销按钮,用户可以从任何活动中注销。我想将用户发送到登录活动而不显示以前的活动。为此,我正在使用:
以下是注销方法删除会话
public void logoutUser() {
//clearing all data from sharedPreferences
editor.clear();
editor.commit();
Intent intnt = new Intent(contxt, LoginActivity.class);
// Closing all the Activities
intnt.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// Add new Flag to start new Activity
intnt.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
// Staring Login Activity
contxt.startActivity(intnt);
}
从用户单击注销按钮然后注销方法调用时的第二个活动。我的第二个活动类扩展了 SherlockFragmentActivity。
public void Logout(MenuItem v) {
sessionMngr.logoutUser();
}
当我按下注销按钮时,我会进入登录屏幕,但是当我按下设备上的后退按钮时,它会显示以前的活动 - 当我在登录屏幕中按下后退按钮时,我应该进入 Android 主屏幕。
我在stackoverflow上看到了一些问题,但没有达到我的目标。有人说我在清单文件中使用 android:noHistory="true" 但是当我在第三个活动中并按回显示 android 主屏幕的按钮时会发生什么,但它应该进入第二个活动。我也尝试了 FLAG_ACTIVITY_NO_HISTORY 但这也没有实现我的目标。
我不明白我错在哪里。请问有人有解决办法吗。
提前致谢