Windows手机上的多个预定祝酒词

时间:2013-03-18 09:39:32

标签: windows-phone-8 scheduled-tasks

我正在编写一个应用程序(Windows Phone 8),它必须在给定时间显示多个toast。 为此,我使用了一个“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错误:已添加此类型的最大ScheduledActions数。)。

如何更改此设置以便能够将toast添加到一个任务中。

更新:

我改变了我的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);
}

有没有办法使用吐司而不是提醒?

1 个答案:

答案 0 :(得分:1)

如果您希望在特定时间向用户显示提醒,您可以选择以下选项:

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

如果您想显示Toast通知,则必须使用Push Notification从远程来源发送此通知。