我在我的应用程序中有一个庞大的活动迷宫。我需要做的是,当用户登录系统时,活动历史记录应该被清除。我不能只在启动新活动时使用finish(),因为我希望活动在用户登录之前保留历史记录。我已经尝试了启动活动时不同的标志,但没有成功。有什么想法吗?
谢谢。
我在我的应用程序中有一个庞大的活动迷宫。我需要做的是,当用户登录系统时,活动历史记录应该被清除。我不能只在启动新活动时使用finish(),因为我希望活动在用户登录之前保留历史记录。我已经尝试了启动活动时不同的标志,但没有成功。有什么想法吗?
谢谢。
我可以透露一下我目前使用的方法来解决问题。在“未登录”活动中,我已经在清单文件中设置了以下内容:
android:noHistory="true"
然后在每个活动中,我都有这段代码:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent intent = new Intent(MyActivity.this, ParentActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);
return true;
}
return super.onKeyDown(keyCode, event);
}
对于早期版本,您可以使用65536
代替Intent.FLAG_ACTIVITY_NO_ANIMATION