如果您在 中调用 API ScheduledAgent
,只需将调用包装在一个检查时间的 if 块中。我有类似的需要每天更新一次磁贴(它正在倒计时直到圣诞节)。
此代码在我的ScheduledAgent.cs
文件中。它检查日期(应仅在 12 月和 26 日之前触发)并设置倒计时,然后仅在圣诞节早上发送 toast 通知。它应该是一个很好的例子,说明如何在后台任务中将 API 调用限制为设定的 dat 时间。
if (DateTime.Now.Month == 12 && DateTime.Now.Day < 26)
{
//number of days until the 25th
var countdown = ((new DateTime(DateTime.Now.Year, 12, 25).DayOfYear) - DateTime.Now.DayOfYear);
if (secondaryTile != null)
{
var imageString = "/Images/Tiles/" + countdown + ".png";
var newTileData = new StandardTileData
{
BackgroundImage = new Uri(imageString, UriKind.Relative)
};
secondaryTile.Update(newTileData);
}
var now = DateTime.Now;
if (now.Day == 25 && now.TimeOfDay.Hours == 9 && (now.TimeOfDay.Minutes > 14 && now.TimeOfDay.Minutes < 46))
{
var toast = new ShellToast { Title = "Xmas Countdown", Content = "Merry Xmas! Thank you for using 'Quick Xmas List' and have a safe holiday!" };
toast.Show();
}
}