我编写了一个应用程序,它在后台线程中执行一些冗长的操作,例如Web请求。我的问题是,一段时间后,自动屏幕锁定关闭屏幕,我的操作中止。
有没有办法阻止屏幕在这些操作过程中自动关闭?或者在屏幕关闭时是否可以继续运行?
我知道有一些方法可以防止屏幕在调试时关闭,但我需要在最终用户手中这种行为。因此,我不能依赖手机上设置的某些设置,而是依赖于某些程序化解决方案。
答案 0 :(得分:20)
可以使用当前UserIdleDetectionMode
的{{1}}属性强制屏幕保持打开状态。
禁用自动屏幕锁定:
PhoneApplicationService
再次启用它:
PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
可在MSDN
上找到更多信息答案 1 :(得分:8)
我知道这个问题是关于Windows Phone 8的,但我很难找到适用于Windows Phone 8.1(通用XAML应用程序)的方法。 使用:
var displayRequest = new Windows.System.Display.DisplayRequest();
displayRequest.RequestActive();
显示视频或在没有用户输入的情况下长时间运行的应用可以通过调用DisplayRequest :: RequestActive请求显示保持打开状态。当激活显示请求时,设备的显示在应用程序可见时保持打开状态。当用户将应用程序移出前台时,系统会停用应用程序的显示请求,并在应用程序返回到前台时重新激活它们。
请参阅:http://msdn.microsoft.com/en-us/library/windows/apps/br241816.aspx