gpt4 book ai didi

android - 启动 Activity 并清除 Activity 历史记录

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:13:43 28 4
gpt4 key购买 nike

所以我的应用程序中有大量的 Activity 。我需要做的是,当用户登录系统时,应清除 Activity 历史记录。当我开始一项新 Activity 时,我不能只使用 finish(),因为我希望这些 Activity 在用户登录之前具有历史记录。我在开始一项 Activity 时尝试了不同的标志,但我没有成功。有什么想法吗?

干杯,

最佳答案

我不妨透露一下我目前用来解决问题的 hax。在“预登录” Activity 中,我在 list 中进行了设置:

android:noHistory="true"

然后在每个 Activity 中我都有这个代码:

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);

}

FLAG_ACTIVITY_NO_ANIMATION 仅适用于 API 级别 5 或更高级别的手机,但它的作用是代替“打开新 Activity ”-动画,播放“返回上一个 Activity ”-动画(至少在机器人上和关系)。这可以防止在用户按下后退按钮时启动新 Activity 的混淆外观。

这个解决方案并不完美。在 API 级别低于 5 的手机上,动画变得不正确。此外,它不是 super 整洁,需要比我更喜欢的更多代码。尽管如此,它仍然有效...

关于android - 启动 Activity 并清除 Activity 历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2692306/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com