[英]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.