在Windows Phone 8.1 XAML中检测停用和应用关闭

出于安全原因,我需要在退出应用程序时注销用户,并在用户返回时显示登录屏幕。

在Windows Phone 8和Windows Phone 8.1 Silverlight中,App类上有Application_DeactivatedApplication_Closing方法(或者在Caliburn.Micro中覆盖OnClose,OnDeactivate方法)。

唯一有趣的事件似乎是SuspendResume ,但是当我使用“开始”按钮退出应用程序并使用“后退”按钮返回或从列表中启动应用程序时,它们不会调用。

Windows Phone 8.1 XAML有哪些替代方案?

(设置ActivationPolicy="Replace"将解决问题的一半,但我想这是不可能的,当WMAppManifest.xml不是Windows Phone 8.1 XAML项目的一部分时)。

在您离开应用程序之后,将立即调用Suspending事件,但不会在调试模式下调用。 我已经构建了一个简单的应用程序,在暂停事件时调整LocalSettings ,然后在Resuming时获取信息。

你可能知道,但为了完整答案 – 一些评论:

  • Suspending事件之前,正在调用OnNavigatedFrom事件,但是当您恢复时不会调用OnNavigatedTo – reference :

    注意在Windows Phone上,应用程序挂起时会调用OnNavigatedFrom()。 应用程序恢复时不会调用OnNavigatedTo()。

  • 要使用调试器测试Suspending / Resuming ,请在Debug location选项卡中使用Lifecycle事件 – 更多信息

  • Windows运行时应用程序中对应用程序生命周期的引用