【问题标题】:How to prevent lockscreen in a Windows (Phone) 8.1 Universal App?如何防止 Windows(电话)8.1 通用应用程序中的锁屏?
【发布时间】:2014-05-14 11:52:17
【问题描述】:

有谁知道,如何防止 Windows (Phone) 8.1 Universal App 中的锁屏?

在 Windows Phone 8 中,我使用过:

PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;

有人有想法吗?

【问题讨论】:

    标签: c# windows-phone windows-phone-8.1


    【解决方案1】:

    复制粘贴代码:)

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

    【讨论】:

    • 先投赞成票。虽然很明显,但我仍然想指出,如果将这两个语句放在一个方法中是行不通的,因为 KeepScreenOnRequest 将在超出范围后被 GC 收集。
    • GC 通常在其引用计数达到 0 时发生,而不是在超出范围时发生。当然你需要把它放在一个方法中,还有什么地方呢? :)
    • 方法执行后,对 KeepScreenOnRequest 的引用降为零,因为它是方法中声明的局部变量。
    • @Hong 不会意识到这一点,但是,是的,有道理。可能值得编辑答案并附加此信息。
    【解决方案2】:

    你可以看看at this question at MSDN,它指向this answer on SO。总之,在使用 WinRT 时,您可以使用 DisplayRequest class:

    在没有用户输入的情况下显示视频或长时间运行的应用可以通过调用 DisplayRequest::RequestActive 请求保持显示。激活显示请求后,设备的显示屏会在应用可见时保持打开状态。当用户将应用移出前台时,系统会停用应用的显示请求,并在应用返回前台时重新激活它们。

    an example at MSDN,也记得遵循指导方针,在不再需要时释放DisplayRequests

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-28
      • 2013-06-28
      • 2010-11-23
      相关资源
      最近更新 更多