2014-11-08 9 views
3

Как определить, было ли приложение простаивающим, скажем, 30 секунд? Я знаю, что это возможно, используя DispatcherTimer, а затем перезапустив его на PhoneApplicationPage.ManipulationCompleted события? Но я обеспокоен тем, что это повлияет на производительность приложения.Обнаружение неактивности приложения в приложении Windows Phone эффективно?

Есть ли лучшие решения?

ответ

3

Вы на правильном пути. Не существует явного «незанятого» уведомления (особенно это не так быстро).

ManipulationCompleted может не всегда срабатывать для вас, поскольку другой вход может предотвратить запуск манипуляций, и пользователь может выполнить очень длительную манипуляцию. Я бы сбросил таймер на любой mouse input, а не только на ManipulationCompleted.

В зависимости от того, насколько точным вам нужен ваш 30-секундный таймер, я хотел бы оставить ход таймера и установить флаг для последнего ввода. Когда таймер истечет, проверьте, установлен ли флаг. Таким образом, вам не нужно постоянно переустанавливать таймер для каждого пользовательского ввода.

+0

Ох! Я понял! Установив флаг, вы подразумеваете элементы управления, которые обеспечивают способ взаимодействия для пользователя, должны поднять флаг, как только Задача будет завершена? –

 Смежные вопросы

  • Нет связанных вопросов^_^