我正在创建一个带有计时器的应用程序。如果此人离开应用程序,我想显示一个 toast 通知(或某种通知),以便他们知道计时器已结束。我使用“.FromSeconds”使用“PeriodicTask”,但它似乎没有在指定时间触发它。
PeriodicTask periodicTask = new PeriodicTask("TaskTest");
periodicTask.Description = "Task";
try
{
IsolatedStorageSettings.ApplicationSettings["TimerForSchedule"] = TimeNum;
ScheduledActionService.Add(periodicTask);
ScheduledActionService.LaunchForTest("TaskTest", TimeSpan.FromSeconds(((TimeNum*60))));
}
在计划代理项目的“OnInvoke”方法中,我有以下内容:
protected override void OnInvoke(ScheduledTask task)
{
if (task.Name == "TaskTest")
{
int time = Convert.ToInt32(IsolatedStorageSettings.ApplicationSettings["TimerForSchedule"]);
bool periodic = (bool)(task is PeriodicTask);
ShellToast toast = new ShellToast();
toast.Title = "Done";
toast.Content = "Timer is over";
toast.Show();
}
NotifyComplete();
ScheduledActionService.Remove("TaskTest");
}
一切似乎都能正常触发,因为我确实收到了通知,但我没有在预期的时间收到通知。
任何帮助,将不胜感激。