Когда приложение теряет фокус, сделайте это

У меня есть метод, который мне нужно запустить, когда мое приложение теряет фокус. В частности, мне нужно обновлять живую плитку каждый раз, когда пользователь переходит в меню «Пуск». Как я могу активировать этот метод всякий раз, когда пользователь нажимает кнопку «Назад» или кнопку меню «Пуск»?

Я думал если вставить в метод OnSuspending(object sender, SuspendingEventArgs e) в App.xaml.cs то сработает, а оказывается это не так!! Я нашел закрытие, когда приложение запускается, но на самом деле это не то, что я хочу.


person Evorlor    schedule 27.07.2014    source источник


Ответы (1)


событие приостановки — это то, что вам нужно находясь в поиске:

Когда пользователь переводит приложение в фоновый режим, ОС ждет несколько секунд, чтобы проверить, не переключится ли пользователь обратно на приложение немедленно. Если пользователь не переключается обратно, ОС приостанавливает работу приложения.

Но это событие не возникает, когда вы выполняете отладку и отправляете приложение в фоновый режим. В обычном режиме (без отладки) должно работать нормально. Помните только, что у вас есть ограниченное время на выполнение действий в этом событии, также не забудьте получить отсрочку и освободить ее:

private async void OnSuspending(object sender, SuspendingEventArgs e)
{
   var deferral = e.SuspendingOperation.GetDeferral();
   // do your code here
   deferral.Complete();
}
person Romasz    schedule 27.07.2014
comment
ты следуешь за мной? ;-) - person Evorlor; 27.07.2014
comment
@Evorlor Нет :), я просто следую некоторым тегам. - person Romasz; 27.07.2014