我有一个方法需要在我的应用程序失去焦点时运行。具体来说,每次用户进入开始菜单时,我都需要更新我的实时磁贴。每当用户按下后退按钮或开始菜单按钮时,如何触发此方法?
我想如果我把它放在OnSuspending(object sender, SuspendingEventArgs e)
的{{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();
}