我正在编写一个应用程序(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);
}
有没有办法使用吐司而不是提醒?
答案 0 :(得分:1)
如果您希望在特定时间向用户显示提醒,您可以选择以下选项:
如果您想从设备提出通知,可以使用Alert
或Reminder
。
如果您想显示Toast
通知,则必须使用Push Notification
从远程来源发送此通知。