タイマー付きのアプリを作成しています。タイマーが終了したことを知らせるために、その人がアプリを離れた場合にトースト通知 (または何らかの通知) を表示したいと考えています。「.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");
}
通知を受け取るので、すべてが適切に起動しているように見えますが、予定の時間に通知が届きません。
どんな助けでも大歓迎です。