簡體   English   中英

WP7 / 8在后台/鎖定屏幕中調用DispatcherTimer滴答事件

[英]WP7/8 Call a DispatcherTimer tick event in the background/lock screen

我正在為Windows Phone開發一個計時器應用程序,因此我試圖使其工作,以便如果計時器上的剩余時間為零,則無論應用程序是否處於活動狀態,非活動狀態,或處於鎖定狀態。

當前,我的問題是在應用程序不活動時,滴答事件實際上不執行任何操作。 用戶一旦回到應用程序中,滴答聲事件就會跑到原本該沒有的程度,但是除非應用程序處於活動狀態或切換為活動狀態,否則聲音效果(或其他任何東西)將不會真正播放。

我確實在我的Page.xaml.cs

PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;

相關代碼為:

    void dispatcherTimer_Tick(object sender, EventArgs e)
    {
        var remaining = this.EndTime - DateTime.Now;
        int remainingSeconds = (int)remaining.TotalSeconds;
        this.timeSpan.Value = TimeSpan.FromSeconds(remainingSeconds);

        if (remaining.TotalSeconds <= 0)
        {
            this.dispatcherTimer.Stop();
            button1.Visibility = Visibility.Collapsed;
            button6.Visibility = Visibility.Visible;
            this.EndTime = DateTime.MinValue;
            this.timeSpan.Value = TimeSpan.FromSeconds(0);
            BackgroundAudioPlayer.Instance.Play();
        }
    }

當應用程序處於鎖屏狀態或其他不活動狀態時,如何使滴答事件運行?

Windows Phone對后台工作有嚴格的限制。 可能需要您在鎖屏下工作的許可嗎?

http://developer.nokia.com/community/wiki/Run_Windows_Phone_application_under_lock_screen

但它只會在鎖定屏幕下使應用程序保持活動狀態,而當用戶按下Windows或關閉您的應用程序時則不會保持活動狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM