在Windows Phone中向ScheduledActionService添加两个提醒

时间:2012-08-19 13:22:43

标签: c#-4.0 windows-phone-7.1 scheduledactionservice

我正在尝试在Windows Phone应用程序中向ScheduledActionService添加两个提醒,如下所示:

private void button1_Click(object sender, RoutedEventArgs e)
    {
        if (ScheduledActionService.Find("PomodoroAkshay") != null)
        {                
            ScheduledActionService.Remove("PomodoroAkshay");
            this.Storyboard_Copy1.Begin();
            this.textBlock1.Text = "It's stopped!";
            if (ScheduledActionService.Find("BreakAkshay") != null)
            {
                ScheduledActionService.Remove("BreakAkshay");
            }
        }

        else
        {
            if (ScheduledActionService.Find("BreakAkshay") != null)
            {
                ScheduledActionService.Remove("BreakAkshay");
            }

            Reminder brk = new Reminder("BreakAkshay");
            brk.Title = "BreakUP";
            brk.Content = "Time up!";
            brk.BeginTime = DateTime.Now.AddSeconds(20);
            ScheduledActionService.Add(brk);

            Reminder pdro = new Reminder("PomodoroAkshay");
            pdro.Title = "PomodoroUP";
            pdro.Content = "Time for break!";
            pdro.BeginTime = DateTime.Now.AddSeconds(5);
            ScheduledActionService.Add(pdro);             

            this.Storyboard1.Begin();
            this.textBlock1.Text = "It's running!";
        }
    }

当我在新开始时按button1时,else会按预期触发。但是,我得到三个提醒。其中两个(PomodoroAkshayBreakAkshay)在五秒钟后被触发。此外,BreakAkshay按预期在20秒后触发。但是,我想要的只是在5秒后发出一个提醒,在20秒后发出第二个提醒。我哪里错了?

其他信息:语句if会清除提醒,以便button1充当切换按钮。

1 个答案:

答案 0 :(得分:0)

我想我已经找到了正在发生的事情。在计算真正的小块时间时,似乎提醒并不准确 - 就像几秒钟一样。它会导致奇怪的行为。我将BeginTime更改为几分钟,一切都按预期工作。应该就此问题提出错误。