요즘 디바이스들은 모두 사용자의 입력이 없으면 자동으로 디스플레이가 꺼지는 절전기능이 있습니다.
하지만 pooq앱 TV를 시청하다가 내가 보기만 하고 아무것도 안하고 있단 이유로 자꾸 꺼지면 짜증이 지대로일 것입니다.
일단 DisplayRequest라는 클래스가 오늘은 주인공입니다.
절전기능을 막기 위해서 간단히 아래와 같이 하면 됩니다.
private DisplayRequest _displayRequest; public void AllowsAutoDisplayOff(bool allow) { if (_displayRequest == null) { _displayRequest = new DisplayRequest(); } if (allow == false) { _displayRequest.RequestActive(); } else { _displayRequest.RequestRelease(); } }
여기서 끝이면 재미없죠?
DisplayRequest의 RequestActive는 호출한만큼 Release 해줘야 하는 녀석입니다.
그렇다보니 호출 카운트를 관리해야 합니다.
아래는 호출카운트까지 관리하고 있는 코드입니다.
private DisplayRequest _displayRequest; private static int _requestCount = 0; public void AllowsAutoDisplayOff(bool allow) { if (_displayRequest == null) { _displayRequest = new DisplayRequest(); } if (allow == false) { _displayRequest.RequestActive(); _requestCount++; } else { for(int i = 0; i < _requestCount; i++) { _displayRequest.RequestRelease(); } _requestCount = 0; } }
이걸 App.Suspending이나 App.Resuming 이벤트 핸들링하실 때와
App 생성자, OnLaunched, OnSearchActivated 등에서 시나리오에 맞게 적절히 호출해 주시면 되겠죠?
'Metro > Windows 8' 카테고리의 다른 글
서피스 프로(Surface Pro)에서 심시티5가 안 되는 불편한 진실 (3) | 2013.03.11 |
---|---|
RadControl for Windows 8, 새 업데이트 (0) | 2013.02.26 |
레노보 IdeaCentre Horizon 쿡북 입수! (1) | 2013.02.11 |
윈도우8: 앱에서 스토어 띄우기 (XAML+C#) (0) | 2013.01.23 |
레노보 아이디어센터 호라이즌(Lenovo IdeaCentre Horizon)을 소개합니다 (0) | 2013.01.17 |
윈도우8: 초성검색 확장메서드 by 모다(홍준모) (0) | 2013.01.17 |
윈도우 스토어에 pooq 2.0 업데이트 올라왔네요. (0) | 2013.01.16 |