2013-04-11 97 views
13

我已经编写了一个应用程序,可以在后台线程中执行一些冗长的操作,例如Web请求。我的问题是,一段时间后自动屏幕锁定将关闭屏幕,我的操作被中止。防止Windows Phone 8上的自动屏幕锁定

有没有办法阻止在这些操作过程中屏幕自动关闭?或者在屏幕关闭的情况下以某种方式继续运行?

我知道有一些方法可以防止屏幕在调试过程中关闭,但我需要在最终用户手中的这种行为。因此我不能依靠手机上的某些设置,而只能使用一些程序化的解决方案。

+0

的可能重复(http://stackoverflow.com/questions/5518715/how-to-stop-windows-phone- 7从锁定屏幕) – MarcinJuraszek 2013-04-11 07:27:38

+0

@MarcinJuraszek这个问题解决了另一个问题,同时测试和调试。当最终用户使用应用程序时,我的问题就出现了。更新问题会更清楚。 – PKeno 2013-04-11 07:30:41

+0

可能重复[可以防止Windows Phone 7上的屏幕超时?](http://stackoverflow.com/questions/3920072/can-i-prevent-screen-timeout-on-windows-phone-7) – 2013-04-11 08:53:25

回答

20

屏幕可能会被迫继续使用当前PhoneApplicationServiceUserIdleDetectionMode属性。

要禁用自动锁屏:

PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled; 

要重新启用它:

PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Enabled; 

更多信息,请MSDN

+4

有Microsoft建议您在遇到此类行为时应采取一些额外的措施。他们在这里列出:http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff941090%28v=vs.105%29.aspx – 2013-07-27 04:45:51

8

找到我知道这个问题是关于Windows Phone 8的,但我很难找出适用于Windows Phone 8.1(通用XAML应用程序)的方式。 使用:

var displayRequest = new Windows.System.Display.DisplayRequest(); 
displayRequest.RequestActive(); 

应用,显示视频或运行长时间而无需用户输入可请求显示保留在通过调用DisplayRequest :: RequestActive。当显示请求被激活时,设备的显示屏在应用程序可见时保持打开状态。当用户将应用程序移出前台时,系统将停用应用程序的显示请求,并在应用程序返回到前台时重新激活它们。

参见:[?如何从锁定屏幕停止的Windows Phone 7] http://msdn.microsoft.com/en-us/library/windows/apps/br241816.aspx

相关问题