【发布时间】:2020-04-04 06:17:25
【问题描述】:
考虑以下示例:https://github.com/StefanWickDev/UWP-FullTrust/tree/master/UWP_FullTrust_3
UWP 应用在创建 AppService 时,会观察相关的任务取消,以检测 AppService 的关闭。 AppService 在以下情况下关闭:
- 完全信任进程删除 AppServiceConnection。
- UWP 应用已暂停。
我要实现的逻辑是,如果由于完全信任进程消失(例如崩溃)而断开连接,则重新启动完全信任进程,但如果 UWP 应用程序将暂停,则避免重新启动。我还没有找到可靠的方法来做到这一点。
在 App.OnTaskCanceled 中,参数中没有任何内容可以指示导致关闭的原因(两种情况都是 SystemPolicy)。 App.IsSuspending 在这一点上是错误的。 App.Suspending 事件总是在 App.OnTaskCanceled 被触发后发生。
我可以启动一个计时器并延迟重启,相信 App.Suspending 会在时间窗口中触发,但我更喜欢使用不太复杂的方式。
顺便说一句,如果 AppServiceConnection 打开,我不清楚 UWP 应用程序是否可以暂停。至少 VS 允许我使用生命周期控件触发暂停/恢复,并触发 UWP 应用的暂停/恢复。
Desktop Bridge UWP 应用似乎没有记录暂停/恢复行为,因此我实际上是在尝试对其工作原理进行逆向工程...
【问题讨论】:
标签: uwp windows-10 desktop-bridge