当应用程序失去焦点时,请执行此操作

时间:2014-07-27 02:30:11

标签: windows-phone-8.1 live-tile lost-focus startmenu

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

我想如果我把它放在OnSuspending(object sender, SuspendingEventArgs e)的{​​{1}}方法中它会起作用,但事实证明情况并非如此!我发现的关闭是应用程序启动时,但这并不是我想做的事情。

1 个答案:

答案 0 :(得分:2)

Suspending event是你要找的东西:

  

当用户将应用程序移动到后台时,操作系统会等待几秒钟以查看用户是否立即切换回应用程序。如果用户没有切换回来,操作系统将暂停该应用程序。

但是这个事件在you are debugging and you send your app to background时被提升 。通常(没有调配)它应该工作正常。请记住,您只有有限的时间在此活动中执行操作,也不要忘记获取延期并将其释放:

private async void OnSuspending(object sender, SuspendingEventArgs e)
{
   var deferral = e.SuspendingOperation.GetDeferral();
   // do your code here
   deferral.Complete();
}