我有一个方法,我需要运行当我的应用程序失去焦点。具体来说,我需要在每次用户转到开始菜单时更新我的活动磁贴。如何在用户按下后退按钮或开始菜单按钮时触发此方法?
我想如果我把它放在App.xaml.cs
的OnSuspending(object sender, SuspendingEventArgs e)
方法中,它会起作用,但事实证明并非如此!!我发现关闭是当应用程序启动时,但这并没有真正做到我想要的。
您正在寻找的就是suspend事件:
当用户将应用程序移到后台时,操作系统会等待几秒钟,看看用户是否立即切换回该应用程序。如果用户不切换回该应用程序,操作系统会挂起该应用程序。
但是这个事件是而不是当你在调试和你发送你的应用程序到后台时被引发。通常情况下(没有调试),它应该工作良好。请记住,您在此事件中执行操作的时间有限,也不要忘记获得延迟并释放它:
private async void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();
// do your code here
deferral.Complete();
}