我正在为 Windows Phone 开发一个计时器应用程序,并且我正在努力做到这一点,如果计时器上的剩余时间为零,则来自 BackgroundAudioPlayer 的声音将播放,无论应用程序是否处于活动状态、非活动状态、或处于锁定状态。
目前,我的问题是,当应用程序不活动时,滴答事件实际上并没有做任何事情。一旦用户回到应用程序,滴答事件就会运行到他们本来可以运行的点,但是除非应用程序处于活动状态或切换到活动状态,否则声音效果(或其他任何东西)实际上不会播放。
我确实有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();
}
}
当应用程序在锁屏下或其他方式不活动时,我该怎么做才能使滴答事件运行?