【问题标题】:Stopping Screen Timingout - windows phone 8.1停止屏幕超时 - windows phone 8.1
【发布时间】:2014-08-11 19:41:27
【问题描述】:

我正在创建一个显示时间的 Windows Phone 8.1, 很基本,但我不希望它做的一件事是让手机看起来。 现在可悲的是 ApplicationIdleDetectionMode 不再起作用,除非您使用 windows phone 8.1 Silverlight 应用程序。 所以我用过。

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

现在它可以自行工作并阻止手机进入锁定屏幕。

但是我的应用程序不工作,它超时了。

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

        this.InitializeComponent();

        this.NavigationCacheMode = NavigationCacheMode.Required;



        this.NavigationCacheMode = NavigationCacheMode.Required;
        DateTime datetime = DateTime.Now;
        string time = String.Format("{0:T}", datetime);
        timeTXTblock.Text = time;

        DispatcherTimer dt = new DispatcherTimer();
        dt.Interval = TimeSpan.FromMilliseconds(1000);

        dt.Tick += (s, e) => { updateTime(); };

        dt.Start();
    }

    public void updateTime()
    {
        DateTime datetime = DateTime.Now;
        string time = String.Format("{0:T}", datetime);
        timeTXTblock.Text = time;
        return;
    }

我觉得这可能与为什么它可能导致它失败有关。知道为什么会这样以及任何解决方案吗?

【问题讨论】:

    标签: c# windows-phone-8 time lockscreen


    【解决方案1】:

    您的 DisplayRequest 超出范围,因为它仅在构造函数中处于活动状态。在类中定义它:

    DisplayRequest displayRequest;
    
    public MainPage()
        {
            displayRequest = new Windows.System.Display.DisplayRequest();
            displayRequest.RequestActive(); 
    ...
    

    【讨论】:

    • 非常感谢您解决了这个问题。非常感谢!
    【解决方案2】:

    我已经测试了您的代码并且它有效。然后屏幕没有锁定。 DisplayRequest (http://msdn.microsoft.com/en-us/library/windows.system.display.displayrequest.aspx) 是适用于 Windows Phone 的非 Silverlight 应用程序的方法。

    【讨论】:

    • 你的意思是它有效。我刚刚将它再次发送到我的设备,但它失败了。它仍然超时并锁定屏幕。
    • 您使用的是哪个版本的 WP?我使用的是诺基亚 Lumia 920,带有 WP8.1 和 Update 1,没有青色。超时/锁定屏幕是什么意思?
    • 和你一样。诺基亚 Lumia 920 与 windows phone 8.1 更新 1 开发预览。我想要应用程序做的是一直显示时间。因此,我的手机屏幕设置为在用户不活动后 30 秒内超时。我希望我的应用程序不允许并显示它。但是我找到的代码不起作用。它仍然超时。看起来我可能只需要做一个 Silverlight 应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多