我正在使用属性noHistory = true来处理我不希望保留在后台堆栈中的活动。它在Android 2.3.3上运行良好,但在4.0.3上有一种奇怪的行为。 当屏幕进入睡眠状态并将其唤醒时,noHistory = true的活动就消失了!
这里发生了什么?屏幕醒来时活动结束了吗?我用错误的方式使用noHistory吗?
答案 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()的事实有关。