ScheduledAgent
에서 API를 호출하는 경우 호출을 시간을 확인하는 if 블록으로 간단하게 래핑하십시오. 타일을 하루에 한 번 업데이트하는 비슷한 필요성이있었습니다 (Xmas까지 일을 카운트 다운했습니다).
이 코드는 내 ScheduledAgent.cs
에 있습니다. 날짜를 확인하고 (12 월과 26 일에 시작해야 함) 카운트 다운을 설정 한 다음 크리스마스 아침에만 토스트 알림을 보냅니다. 그것은 백그라운드 작업에서 dat의 설정 시간에 API 호출을 제한하는 좋은 예가되어야합니다. 그렇게에 대한 계산과하지 않는 시간 범위에없는 경우 방법에서
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();
}
}
.. – csharpwinphonexaml
을 시간 범위를 확인하고 나는이 간접적으로 보면 이미 한 대답했다 같아요 -이 : HTTP ://stackoverflow.com/questions/13560972/updating-live-tiles-for-windows-phone-8-periodically –