我正在尝试开发一个连续的位置跟踪应用程序并在W10手机上进行测试。当我点击Back或Windows按钮时,它在后台运行正常。
然而,当应用程序处于前台并按下电源按钮时,请等待一段时间然后再打开电源,应用程序就会消失。崩溃转储显示错误0xc0000194“可能的死锁条件”。
到目前为止,我只能获得这个堆栈信息:
STACK_TEXT:
ntdll!NtWaitForMultipleObjects+0x6
KERNELBASE!WaitForMultipleObjectsEx+0x112
twinapi_appcore!PsmRegisterAppStateChangeNotification+0x2a4
twinapi_appcore!PsmRegisterAppStateChangeNotification+0x21f8
twinapi_appcore!PsmRegisterAppStateChangeNotification+0x2232
Windows_UI_Xaml+0x3777a8
Windows_UI_Xaml+0x37750e
0xbb067c
我注意到当我点击Back或Windows键时,会立即发生 VisibilityChanged 。但是,当我关闭电源时,此事件会延迟,大约10秒钟。
僵局可能与此有关吗?有没有办法检测电源按钮?一旦我的应用程序离开屏幕,我就可以在更新位置时停止进行UI更新,但需要尽快知道,而不是延迟。 感谢。