2014-05-14 23 views

Trả lời

5

Bạn có thể có giao diện at this question at MSDN, trỏ đến this answer on SO. Trong thời gian ngắn sử dụng WinRT, bạn có thể sử dụng DisplayRequest class:

Ứng dụng hiển thị video hoặc chạy trong thời gian dài mà không cần người dùng có thể yêu cầu hiển thị bằng cách gọi DisplayRequest :: RequestActive. Khi một yêu cầu hiển thị được kích hoạt, màn hình của thiết bị vẫn bật khi ứng dụng hiển thị. Khi người dùng di chuyển ứng dụng ra khỏi nền trước, hệ thống sẽ hủy kích hoạt các yêu cầu hiển thị của ứng dụng và kích hoạt lại chúng khi ứng dụng trở về nền trước.

an example at MSDN, cũng nhớ tuân thủ nguyên tắc và giải phóng DisplayRequests khi không còn cần thiết nữa.

16

Mã cho copy-paste :)

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

KeepScreenOnRequest.RequestActive(); 
+2

Up bỏ phiếu đầu tiên. Mặc dù nó là hiển nhiên, tôi vẫn muốn chỉ ra nó sẽ không hoạt động nếu hai báo cáo đã được đưa vào một phương pháp bởi vì KeepScreenOnRequest sẽ được thu thập bởi GC sau khi đi ra khỏi phạm vi. – Hong

+1

GC thường xảy ra khi số tham chiếu của nó đạt đến 0, không phải khi đi ra khỏi phạm vi. Và tất nhiên bạn cần phải đặt nó vào một phương pháp, ở đâu khác? :) – RelativeGames

+1

Khi phương thức được thực hiện, tham chiếu đến KeepScreenOnRequest giảm xuống 0 vì nó là biến cục bộ được khai báo trong phương thức. – Hong

Các vấn đề liên quan