我正在编写一个应用程序(windows phone 8),它必须在给定时间显示多个祝酒词。为此,我使用了一个“ScheduledTaskAgent”项目。
protected override void OnInvoke(Microsoft.Phone.Scheduler.ScheduledTask task)
{
ShellToast toast = new ShellToast();
toast.Content = task.Description;
toast.Show();
NotifyComplete();
ScheduledActionService.Remove(task.Name);
}
并添加一个新的任务/祝酒我做:
private static void AddToSchedule(DateTime date, string id, Toast toast)
{
PeriodicTask periodicTask = new PeriodicTask(toast.Id);
periodicTask.Description = toast.Title;
ScheduledActionService.Add(periodicTask);
var showIn = date - DateTime.Now;
ScheduledActionService.LaunchForTest(toast.Id, showIn);
}
如果我添加一项任务/吐司它正在工作。但如果我想添加更多,我有一个 System.InvalidOperationException。
(这意味着:BNS 错误:此类型的 ScheduledAction 的最大数量已被添加。)。
我如何更改它以便能够向一项任务添加祝酒词。
更新 :
我改变了我的 AddToSchedule() 现在它正在工作。
private static void AddToSchedule(DateTime date, string id, Toast toast)
{
Reminder reminder = new Reminder(toast.Id);
reminder.Title = toast.Title;
reminder.Content = toast.Title;
reminder.BeginTime = DateTime.Now.AddMinutes(1);
reminder.ExpirationTime = reminder.BeginTime.AddSeconds(5.0);
reminder.RecurrenceType = RecurrenceInterval.None;
ScheduledActionService.Add(reminder);
}
有没有办法使用 toast 而不是提醒?