与Android 4.0.3中的noHistory属性不一致

时间:2012-04-12 12:39:27

标签: android android-activity android-4.0-ice-cream-sandwich

我正在使用属性noHistory = true来处理我不希望保留在后台堆栈中的活动。它在Android 2.3.3上运行良好,但在4.0.3上有一种奇怪的行为。 当屏幕进入睡眠状态并将其唤醒时,noHistory = true的活动就消失了!

这里发生了什么?屏幕醒来时活动结束了吗?我用错误的方式使用noHistory吗?

2 个答案:

答案 0 :(得分:2)

我今天遇到了同样的问题,我在这里找到了解决方案:

Android: how to return to Activity with "noHistory" attribute after onStop?

事实上,当noHistory设置为true时,当屏幕进入休眠状态时,您的活动将从堆栈中移除,并且在屏幕唤醒时不会恢复。

我从布局xml文件中删除了noHistory = true,并在我的活动调用另一个时调用了finish():

Intent intent = new Intent();
intent.setClass(this, MainActivity.class);
this.startActivity(intent);
finish();

这就成了伎俩!单击后退按钮时,不会显示上一个活动。

我不确定问题是否发生在Android 2.x上,但我确信现在在Android v2.x和Android v4.x上都能正常运行

答案 1 :(得分:0)

可能与屏幕进入睡眠状态时调用onPause()的事实有关。