如何在wp8中每周五只运行一次提醒

时间:2014-05-01 09:46:43

标签: c# windows-phone-8

朋友,

我正在尝试在我的wp8应用程序中发出提醒,该应用程序应该每周五上午8:00之前执行一次。我正在使用ScheduledAgent,但对此并不了解。

下面我使用非常基本的方法来检查它是否在星期五,但不知道如何发布通知。

protected override void OnInvoke(ScheduledTask task)
{
   string toastMessage = "MyApp reminder";
   ShellToast toast = new ShellToast();
   toast.Title = "Friday Activity";
   toast.Content = toastMessage;
   toast.Show();

   //execute every day only once
   if (DateTime.Now.DayOfWeek == DayOfWeek.Friday)
   {
       //How to Launch the reminder or notification only once
   }

   #if DEBUG_AGENT
     ScheduledActionService.LaunchForTest(task.Name,TimeSpan.FromSeconds(60));
   #endif

  NotifyComplete();
}

使用下面的

从前景开始定期
void StartPeriodicAgent()
{
   periodicTask = ScheduledActionService.Find(periodicTaskName) as PeriodicTask;
   if (periodicTask != null)
       RemoveAgent(periodicTaskName);

    periodicTask = new PeriodicTask(periodicTaskName);

    periodicTask.Description = "MyApp reminder.";
    try
    {
         ScheduledActionService.Add(periodicTask);
         PeriodicStackPanel.DataContext = periodicTask;

         #if(DEBUG_AGENT)
              ScheduledActionService.LaunchForTest(periodicTaskName, TimeSpan.FromSeconds(60));
         #endif
     }
     ....
  }

如何每周五只调用一次通知?这是每1分钟执行一次,但我不知道如何只在周五进行。

谢谢!

1 个答案:

答案 0 :(得分:0)

  

......应该每周五上午8点前执行一次......

因此,我假设您希望每周五发布通知,但当天只发布一次

您不仅要检查一周中的某一天,还要检查日期,然后再检查一下:

  //execute every day only once
   if (DateTime.Now.DayOfWeek == DayOfWeek.Friday && storedDate <> DateTime.Today)
   {
       //How to Launch the reminder or notification only once
   }

  

...但不知道如何发布通知。

我不知道对不起。也许其他人在这里知道答案。