我将属性 noHistory=true 用于我不想保留在后台堆栈中的 Activity 。它在 Android 2.3.3 上工作正常但在 4.0.3 上有一个奇怪的行为。 当屏幕进入休眠状态而我将其唤醒时,noHistory=true 的 Activity 消失了!
这是怎么回事?屏幕唤醒时 Activity 是否完成?我是否以错误的方式使用了 noHistory?
最佳答案
我今天遇到了同样的问题,我在这里找到了解决方案:
Android: how to return to Activity with "noHistory" attribute after onStop?
事实上,将 noHistory 设置为 true,当屏幕进入休眠状态时,您的 Activity 将从堆栈中移除,并且在屏幕唤醒时不会恢复。
我从布局 xml 文件中删除了 noHistory=true,并在我的 Activity 调用另一个 Activity 时调用了 finish():
Intent intent = new Intent();
intent.setClass(this, MainActivity.class);
this.startActivity(intent);
finish();
成功了!当我点击后退按钮时,上一个 Activity 没有出现。
我不确定这个问题是否发生在 Android 2.x 上,但我可以肯定的是,它现在在 Android v2.x 和 Android v4.x 上都运行良好
关于android - 与 Android 4.0.3 中的 noHistory 属性不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10123763/