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

Bos*_*one 7 history android android-activity

我有3个活动,我的用户不断循环.当用户回到主屏幕时,我需要终止以前的历史记录,这样用户就无法回击按钮并最终进入屏幕#2,那么这样做的好方法是什么?BTW - 我使用1.6(API级别4)

重申 - 说我不知道​​或预测导致我原始观点的路径.但是一旦我加载它,我想清除导致用户访问该视图的历史记录.在2.0中,可以覆盖Activity#onBackPressed,但我需要1.6中的类似内容

fay*_*lon 1

好的,我假设您有 3 个活动,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);
}
Run Code Online (Sandbox Code Playgroud)