我的应用程序有以下流程屏幕:
主屏->屏1->屏2->屏3->屏4->屏5
现在我在每个屏幕上都有一个公共注销按钮
(主屏/ 1屏/ 2屏/ 3屏/ 4屏/ 5屏)
我想当用户点击注销按钮(从任何屏幕),所有屏幕将完成,一个新的屏幕登录将打开。
我已经尝试了几乎所有的FLAG_ACTIVITY来实现这一点。
我还通过一些答案在stackoverflow,但不能解决这个问题。
我的应用程序是在Android 1.6上,所以不能使用FLAG_ACTIVITY_CLEAR_TASK
有什么办法解决这个问题吗?
我为此实现了一个解决方案(我想我在Stack Overflow的某个地方找到了它,但我不记得了,所以感谢在第一个地方做这件事的人):
在你的任何活动中都这样做:
// Clear your session, remove preferences, etc.
Intent intent = new Intent(getBaseContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
然后在你的LoginActivity,覆盖onKeyDown:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}