2016-06-16 4 views
0

Приложение Windows 10 Universal использует 1-секундный интервал на DispatcherTimer для сбора и вычитания показаний акселерометра устройства.Соберите показания акселерометра, когда приложение приостановлено.

Требование состоит в том, что этот процесс должен продолжаться, даже если пользователь приостанавливает приложение (не «завершено»).

Одним из возможных решений является Регистрация в фоновом режиме с использованием таймера, но он позволяет использовать самый низкий интервал в 15 минут по сравнению с требуемой 1 секундой.

ответ

1

Вы можете использовать расширенный сеанс выполнения. Используя этот сеанс, вы можете запретить приостановке приложения, даже если приложение переходит в фоновый режим. Но ... это важная вещь ... это своего рода «лучшее усилие». ОС может «отменить» ваше расширенное выполнение ЛЮБОЕ время.

В моем опыте (с моим телефоном 1 ГБ памяти), если вы запускаете только 1-2 приложения, целевое приложение может продолжать работать. , но запущено 4-5 приложений, расширенное выполнение целевого приложения прерывается с перерывами.

Следующие ссылки могут вам помочь.

App Lifecycle - Держите Apps Живой с фоновыми задачами и расширенного исполнения https://msdn.microsoft.com/en-us/magazine/mt590969

фоновой активности с одного процесса Модель https://blogs.windows.com/buildingapps/2016/06/07/background-activity-with-the-single-process-model/

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