gpt4 book ai didi

uwp - 如何确定 AppService 何时因 UWP 应用挂起或完全信任进程关闭而关闭?

转载 作者:行者123 更新时间:2023-12-01 17:59:44 29 4
gpt4 key购买 nike

考虑以下示例:https://github.com/StefanWickDev/UWP-FullTrust/tree/master/UWP_FullTrust_3

UWP应用创建AppService时,会观察相关任务取消情况,以检测AppService的关闭。 AppService 在以下情况下关闭:

  1. 完全信任进程会删除 AppServiceConnection。
  2. UWP 应用已暂停。

我想要实现的逻辑是,如果由于完全信任进程消失(例如崩溃)而导致连接断开,则重新启动完全信任进程,但如果 UWP 应用程序将要挂起,则避免重新启动。我还没有找到可靠的方法来做到这一点。

在 App.OnTaskCanceled 中,参数中没有任何内容可以指示导致关闭的原因(两种情况下都是 SystemPolicy)。此时 App.IsSuspending 为 false。 App.Suspending 事件总是在 App.OnTaskCanceled 被触发后发生。

我可以启动一个计时器并延迟重新启动,相信 App.Suspending 在时间窗口内被触发,但我更喜欢使用不太复杂的方式。

顺便说一句,我不清楚如果 AppServiceConnection 打开,是否可以暂停 UWP 应用程序。至少 VS 允许我使用生命周期控件触发挂起/恢复,并触发 UWP 应用的挂起/恢复。

对于 Desktop Bridge UWP 应用程序来说,挂起/恢复行为似乎没有记录,因此我本质上是在尝试对其工作原理进行逆向工程...

最佳答案

您可以使用 EnteredBackground/LeavingBackground 事件来区分这两种情况。

以下是展示此方法的完整示例:
https://github.com/StefanWickDev/UWP-FullTrust/tree/master/UWP_FullTrust_3

相关博客文章:
https://stefanwick.com/2018/04/16/uwp-with-desktop-extension-part-3/

关于uwp - 如何确定 AppService 何时因 UWP 应用挂起或完全信任进程关闭而关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59277772/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com