Android 当前活动在屏幕锁定时消失

Android 当前活动在屏幕锁定时消失,android,android-manifest,android-activity,android-lifecycle,Android,Android Manifest,Android Activity,Android Lifecycle,这是我的活动 <activity android:name=".MainActivity_Hard" android:configChanges="keyboardHidden|orientation|screenSize" android:label="@string/title_activity_main_activity__hard" android:noHistory="true"

这是我的活动

<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”,因为我不想将屏幕添加到活动堆栈中

但是,当我锁定屏幕并解锁它时。该活动将消失,并显示上一个屏幕。这不应该发生。谁能告诉我为什么


注意:这种情况发生在集成电路(三星Galaxy Note)中,但在以前的设备(姜饼等)中没有发生。

我不知道为什么。但如果您不想将此活动添加到当前堆栈中。您可以设置android:launchMode=“singleTask”。启动此活动时,它将被添加到自己的堆栈中。 你可以在这里看到更多
希望有帮助:)

在AndroidManifest.xml中,将此权限标记置于应用程序标记之上

<uses-permission android:name="android.permission.WAKE_LOCK" /> 

在活动中设置noHistory属性意味着,一旦用户离开该活动(打开包含的锁定屏幕),就会自动调用其finish()函数,从而销毁该活动并返回产生该活动的前一个活动

这通常用于启动屏幕类型的活动,例如,这些活动仅充当启动器,并且您不希望用户能够从孩子返回启动屏幕

如果这不是你的意图,那么你应该考虑删除NoStand属性,也许自己管理活动生命周期。(例如,如果您不希望您的活动位于堆栈中,则只需在它启动另一个活动后调用finish()

是否应从中删除活动 当 用户离开它,它在屏幕上不再可见- 如果应该完成,则为“真”,否则为“假”。默认值 是“假”。值“true”表示活动不会留下 历史痕迹。它将不会保留在的活动堆栈中 任务,因此用户将无法返回到该任务


您的活动是否在其
onPause()
方法中调用
finish()
?这是我见过的一件很平常的事这就是我最后做的。。。android:noHistory不是我想要的东西。。。