后退按钮关闭两个活动?

时间:2011-10-13 00:42:26

标签: android android-activity

解决!

我的活动堆栈看起来像这样,原谅粗略的图表!

A-->B-->C
    '-->D

如果我在活动B中按回按钮,我会按预期返回A 但是,如果我在活动CD中按回按钮,我会返回A而不是B。 在我看来,这可能是由两件事引起的 1)活动B在打开CD的意图时退出 2)后退按钮以某种方式被调用两次?

我仔细查看了活动B中的点击监听器,这些监听器启动了期望在那里找到finish()电话的意图,但没有。
我还检查了活动onBackPressed()C的{​​{1}}方法,看看我是否手动打开活动A ......但我不是。

这是活动D

的onResume方法
A

这是我开始意图C和D的方式

protected void onResume() {
        super.onResume();
        screenOn(SCREEN_ON_DURATION);
        mWakeLock.acquire();

    }

有人可以帮忙吗?

编辑:我在onUserLeaveHint()中发现了finish(),这就是问题所在!

1 个答案:

答案 0 :(得分:3)

The reason may be that you are using finish() in your previous activity,For example
A->B->C
            Intent intent = new Intent(B.this, C.class);
            startActivity(intent);
            finish();

finish() is destroying B activity hence the control is going on activity A on back button