在应用程序终止时停止后台音频任务

Stopping background audio task on app termination

由于 BackgroundAudio 任务和应用程序生命周期的建立方式,此时似乎没有办法检测应用程序的实际关闭并停止其后台任务。 这给用户带来了一种奇怪的情况,她可以尝试强行终止暂停但存在的应用程序以播放音频 "get rid",但播放仍在继续。

有可能对 Suspending 事件做出反应,但这仅意味着一旦用户切换出应用程序,音频就会停止播放。 但是,只有当用户通过 App Switch 屏幕终止应用程序时,我们才需要停止音频播放。

有什么方法可以检测到应用程序已从其后台任务中关闭?

BackgroundAudioTask 旨在继续 main app 已经 terminated/suspended。无法通知 BackgroundTask 暂停的应用程序已终止。

应用暂停后,没有任何事件被调用或任何代码来自您的应用运行。您可以做的最后一件事是将某些东西放入 suspending 事件 and/or window 的 事件中。您可以在 LocalSettings 中保存一些内容,这将通知 BackgroundTask 该应用程序处于非活动状态,这也是向您的任务发送消息的最后机会有关 UI 状态的信息。

以上方法用在official MSDN sample.