Подтвердить что ты не робот

Запретить автоматическую блокировку экрана на Windows Phone 8

Я написал приложение, которое выполняет некоторые длительные операции, такие как веб-запросы, в фоновом потоке. Моя проблема заключается в том, что через некоторое время автоматическая блокировка экрана отключает экран, а мои операции прерываются.

Есть ли способ предотвратить автоматическое выключение экрана во время этих операций? Или можно каким-то образом продолжать работать, пока экран выключен?

Я знаю, что есть способы предотвратить выключение экрана во время отладки, но мне нужно это поведение в руках конечного пользователя. Поэтому я не могу полагаться на некоторые настройки, установленные на телефоне, а скорее на программные решения.

4b9b3361

Ответ 1

Экран может быть принудительно включен, используя свойство UserIdleDetectionMode текущего PhoneApplicationService.

Чтобы отключить автоматическую блокировку экрана:

PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;

Чтобы включить его снова:

PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Enabled;

Более подробную информацию можно найти на MSDN

Ответ 2

Я знаю, что этот вопрос касается Windows Phone 8, но мне было трудно найти способ для Windows Phone 8.1 (Universal XAML Apps). Использование:

var displayRequest = new Windows.System.Display.DisplayRequest();
displayRequest.RequestActive();

Приложения, которые показывают видео или работают в течение продолжительных периодов без ввода пользователя, могут запросить, чтобы дисплей оставался включенным, вызывая DisplayRequest:: RequestActive. Когда активируется запрос на отображение, дисплей устройства остается включенным, когда приложение видимо. Когда пользователь перемещает приложение из переднего плана, система деактивирует запросы на отображение приложений и активирует их, когда приложение возвращается на передний план.

Смотрите: http://msdn.microsoft.com/en-us/library/windows/apps/br241816.aspx