我写了一个应用程序,在后台线程中执行一些耗时的操作,比如Web请求。我的问题是,屏幕自动锁定后一段时间,操作就会被中断。
有没有办法在这些操作进行期间防止屏幕自动关闭?或者在屏幕关闭时以某种方式继续运行?
我知道有方法可以防止调试时屏幕关闭,但我需要用户手中出现这种情况。因此,我不能依赖于手机上设置的某些选项,而是需要一些编程解决方案。
我写了一个应用程序,在后台线程中执行一些耗时的操作,比如Web请求。我的问题是,屏幕自动锁定后一段时间,操作就会被中断。
有没有办法在这些操作进行期间防止屏幕自动关闭?或者在屏幕关闭时以某种方式继续运行?
我知道有方法可以防止调试时屏幕关闭,但我需要用户手中出现这种情况。因此,我不能依赖于手机上设置的某些选项,而是需要一些编程解决方案。
可以使用当前PhoneApplicationService
的UserIdleDetectionMode
属性来强制保持屏幕常亮。
要禁用自动锁屏:
PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
重新启用它的方法:
PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Enabled;
可以在MSDN上找到更多信息。
我知道这个问题是关于Windows Phone 8的,但是对于Windows Phone 8.1(通用XAML应用程序),我很难找到方法。
var displayRequest = new Windows.System.Display.DisplayRequest();
displayRequest.RequestActive();