Как предотвратить блокировку экрана в универсальном приложении Windows (Phone) 8.1?

Кто-нибудь знает, как предотвратить блокировку экрана в универсальном приложении Windows (Phone) 8.1?

В Windows Phone 8 я использовал:

PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;

У кого-нибудь есть идея?


person Matt126    schedule 14.05.2014    source источник


Ответы (2)


Вы можете посмотреть на этот вопрос в MSDN, который указывает на этот ответ на SO. Короче говоря, при использовании WinRT вы можете использовать класс DisplayRequest. :

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

пример в MSDN, также не забудьте следуйте инструкциям и отпустите DisplayRequests, когда они больше не нужны.

person Romasz    schedule 14.05.2014

Код для копипаст :)

Windows.System.Display.DisplayRequest KeepScreenOnRequest = new Windows.System.Display.DisplayRequest();

KeepScreenOnRequest.RequestActive();
person RelativeGames    schedule 05.01.2015
comment
Сначала проголосуйте за. Хотя это очевидно, я все же хотел бы указать, что это не сработает, если эти два оператора будут помещены в метод, потому что KeepScreenOnRequest будет собран сборщиком мусора после выхода из области видимости. - person Hong; 25.03.2015
comment
GC обычно происходит, когда его счетчик ссылок достигает 0, а не при выходе за пределы области видимости. И, конечно, вам нужно поместить это в метод, где еще? :) - person RelativeGames; 02.04.2015
comment
После выполнения метода ссылка на KeepScreenOnRequest сбрасывается до нуля, поскольку это локальная переменная, объявленная в методе. - person Hong; 02.04.2015
comment
@Hong Не понял бы этого, но да, это имеет смысл. Возможно, стоит отредактировать ответ и добавить эту информацию. - person RReverser; 15.02.2016