Android - 在 Activity 之间导航时清除历史记录

标签 android history android-activity

我有 3 个用户不断循环访问的 Activity 。当用户回到主屏幕时,我需要终止以前的历史记录,这样用户就不能点击后退按钮并最终出现在屏幕 #2 上,这样做的好方法是什么? 顺便说一句——我使用的是 1.6(API 级别 4)

重申一下 - 假设我不知道或预测导致我到达原始 View 的路径。但是一旦我加载它,我想清除将用户引导到该 View 的历史记录。在 2.0 中可以覆盖 Activity#onBackPressed 但我在 1.6 中需要类似的东西

最佳答案

好的,我假设您有 3 个 Activity,A、B 和 C。A 是主屏幕,用户将循环浏览这 3 个页面。但是当用户输入 A 时,应该执行 onBackPresed 事件作为退出。我说清楚了吗?

在这种情况下,当您尝试从 B 或 C 启动 A 时,您可以将 Intent.FLAG_ACTIVITY_CLEAR_TOP 添加到 Intent 中,然后历史堆栈将被清除,您的堆栈中将只有 A。

如果要拦截返回键事件,不需要重写onBackPressed()。我们总是在这个方法可用之前使用 onKeyDown。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {

    }
    return super.onKeyDown(keyCode, event);
}

关于Android - 在 Activity 之间导航时清除历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1750959/

相关文章:

android - 由于缺少 keystore.properties 文件,Gradle 构建失败

android - 是否可以根据国家/地区限制在 Amazon appstore 上的应用程序分发?

linux - 有没有什么好的工具来管理 bash 历史记录?

Android 猴子测试选择一个特定的 Activity

android - 在全局流程中服务而不是被创造

c# - 未找到方法 'SQLiteConnection.InsertAll'

android - 某些 Android 设备上的低 fps

search - 如何搜索 MATLAB 命令历史记录?

linux - 同一 tty 上登录用户的历史记录

java - RecyclerView onClick 获取项目的位置