【发布时间】:2016-02-05 21:13:37
【问题描述】:
我的 UWP 应用不会触发 OnSuspending 事件,但此问题仅发生在运行 Windows 10 的 Windows Phone 上。在我的本地计算机或模拟器上将其作为 Windows 应用商店应用运行时,它按预期工作。
当应用程序关闭时,我正在使用此事件来保存我的应用程序的设置,但这显然会导致 windows phone 出现重大问题,因为未触发此事件。
如您所见,OnSuspending 事件在应用启动时被初始化
public App()
{
Microsoft.ApplicationInsights.WindowsAppInitializer.InitializeAsync(
Microsoft.ApplicationInsights.WindowsCollectors.Metadata |
Microsoft.ApplicationInsights.WindowsCollectors.Session);
this.InitializeComponent();
this.Suspending += OnSuspending;
}
以下是在 Windows Phone 10 中运行时应调用但不调用的 OnSuspending 代码。
private async void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();
//TODO: Save application state and stop any background activity
await Locator.MainPageViewModel.SaveSettings();
deferral.Complete();
}
关于如何解决此问题的任何想法或是否有潜在的解决方法?
谢谢。
UPDATE-1:
当我通过按住标志键并单击十字终止它来终止我的应用程序时,会关闭应用程序,但它仍然不会触发 OnSuspending 事件,但 .net IDE 仍然运行。当我按 F5 再次运行应用程序时,它会触发 OnSuspending 事件。我的应用程序启动但代码停止在 IDE 中运行。
【问题讨论】:
标签: c# windows-phone windows-store-apps win-universal-app uwp