当用户按下根页面上的后退按钮时如何暂停 UWP 应用程序?

How to pause UWP app when the user presses the back button on root page?

我正在尝试找到一种方法来暂停 UWP 应用程序(而不是退出)。这个想法是当用户在根页面上并按下后退按钮(物理按钮)时显示一个带有两个选项(是或否)的警告对话框。

我一直在尝试在线寻找解决方案,我发现最接近的是在 UWP 项目中调用 - Application.Current.Exit

如果你想在用户按下后退按钮时有一个确认对话框,你需要处理 SystemNavigationManager.BackRequested 事件。您将把它标记为 Handled 并向用户显示一个确认对话框。如果用户按下 Yes,您可以使用 Application.Current.Exit().

强制退出应用程序

但是这样就出现了app not suspended but terminated 的问题,也就是没有暂停。这是因为显示对话框是一项 async 任务,事件处理程序必须立即 return。您可以手动调用挂起逻辑来保存状态,但无法以编程方式触发基于系统的挂起流程...