0

我正在编写一个应用程序(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 而不是提醒?

4

1 回答 1

1

如果您想在特定时间向用户显示提醒,您有几个选项:

如果您想从设备发出通知,您可以使用AlertReminder

如果要显示Toast通知,则必须使用Push Notification.

于 2013-03-18T17:52:03.843 回答