您好,我有一个在锁定屏幕上开始的活动。活动开始时很好,但是当我尝试在此活动上切换UI时,它立即调用onStop,并且出现了这样的重复异常:
E/ActivityThread: Performing stop of activity that is already stopped: {com.exampleapp/com.exampleapp.ExampleActivity}
它会重复执行,直到我终止应用程序进程,结果活动UI被冻结。它还不断调用activity onStop方法,所以我的日志猫被这些消息淹没了:
D/Activity: com.exampleapp.ExampleActivity.onStop
E/ActivityThread: Performing stop of activity that is already stopped: {com.exampleapp/com.exampleapp.ExampleActivity}
有趣的是,我的UI出现在屏幕上,尽管进行了onStop调用,但它并未隐藏。
此错误发生在Android 8.1上,我也在7.1.1和8.0上对其进行了测试,并且按预期工作。为了在锁定屏幕上显示活动,我在Android 8.1清单中使用了此类标志:
android:turnScreenOn="true"
android:showWhenLocked="true"
Android较低版本的标记:
window.addFlags(
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD or
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
)
我不知道这是什么原因,也没有找到任何信息。有人可以帮我吗?任何帮助,将不胜感激。在此先感谢:)
更新:在Android 9上进行了尝试,并且具有类似的行为,但没有例外。活动不断进行重建。