所以这是我的活动。
<activity
android:name=".MainActivity_Hard"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/title_activity_main_activity__hard"
android:noHistory="true"
android:screenOrientation="portrait" >
</activity>
我将其标记为android:noHistory =“true”,因为我不想将屏幕添加到活动堆栈中。
但是当我锁定屏幕并将其解锁时。活动消失,出现上一个屏幕。这不应该发生。谁能告诉我原因。
注意:它发生在ICS(三星Galaxy Note)中,但不适用于以前的设备(姜饼等)
答案 0 :(得分:3)
设置你的活动noHistory属性意味着,一旦用户离开该活动了 - 造就了锁屏包括 - 它的光洁度()函数被自动调用,从而破坏它,并要回以前产生它的活动。
这通常用于启动画面类型的活动,例如,它仅用作启动器,并且您不希望用户能够从子项返回启动画面。
如果这不是你的意图,那么你应该考虑删除noHistory属性,也可以自己管理活动生命周期。 (例如,如果您不希望您的活动在堆栈中,那么只需在它开始另一个活动后调用finish()。)
是否应删除该活动 活动堆栈和完成(它的finish()方法调用)时 用户导航离开它并且在屏幕上不再可见 - 如果它应该完成则为“true”,否则为“false”。默认值 是“假的”。值“true”表示活动不会离开 历史痕迹。它不会保留在活动堆栈中 任务,所以用户将无法返回它。
答案 1 :(得分:0)
我不知道为什么。但是,如果您不想将此活动添加到当前堆栈。你可以设置android:launchMode =“singleTask”。启动此活动时,它将添加到自己的堆栈中。 你可以在这里看到更多enter link description here 希望它有所帮助:)
答案 2 :(得分:0)
在AndroidManifest.xml中,将此权限标记放在应用程序标记上方。
<uses-permission android:name="android.permission.WAKE_LOCK" />