1

当我的应用程序失去焦点时,我需要运行一个方法。具体来说,每次用户进入开始菜单时,我都需要更新我的动态磁贴。每当用户按下后退按钮或开始菜单按钮时,如何触发此方法?

我想如果我把它放在OnSuspending(object sender, SuspendingEventArgs e)方法中App.xaml.cs它会起作用,但事实证明不是这样!我发现关闭是应用程序启动时,但这并没有真正达到我想要的效果。

4

1 回答 1

2

Suspending 事件是您正在寻找的东西:

当用户将应用程序移至后台时,操作系统会等待几秒钟以查看用户是否立即切换回应用程序。如果用户不切换回来,操作系统会挂起应用程序。

但是,在您调试并将应用程序发送到后台时,不会引发此事件。通常(无需调试)它应该可以正常工作。请记住,您在此事件中执行操作的时间有限,也不要忘记获得延期并释放它:

private async void OnSuspending(object sender, SuspendingEventArgs e)
{
   var deferral = e.SuspendingOperation.GetDeferral();
   // do your code here
   deferral.Complete();
}
于 2014-07-27T07:04:58.653 回答