E’ possibile schedulare una notifica toast affinche venga eseguita in un periodo di tempo prestabilitò .
Per far ciò utilizziamo ScheduledToastNotification anziche ToastNotification .
Questo tipo di notifica da vita a due possibilità che sono
- lanciare la notifica dopo un periodo di tempo determinato
- ripetere la notifica in un intervallo di tempo specificato per un certo numero di volte
Possiamo quindi lanciare una nuova notifica schedulata cosi
Creo una nuova notifica toast
// Seleziono il template
ToastTemplateType templateType = ToastTemplateType.ToastText02;
// Ne carico il contenuto XML e completo le informazioni che mi servono
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(templateType);
XmlNodeList Descriptions = toastXml.GetElementsByTagName("text");
Descriptions[0].InnerText = "Andrea";
Descriptions[1].InnerText = "Ho una nuova notifica !!!";
In questo caso istanzio un nuovo oggetto ScheduledToastNotification indicando che deve essere visualizzato dopo 10 secondi dalla creazione .Il primo parametro rappresenta l’xml del template il secondo di tipo DateTime dopo quanto tempo avviare la notifica
ScheduledToastNotification toast = new ScheduledToastNotification(toastXml, DateTime.Now.AddSeconds(10));
In questo caso utilizziamo invece il secondo costruttore
ScheduledToastNotification toast = new ScheduledToastNotification(toastXml,DateTime.Now.AddSeconds(10),new TimeSpan(0,1,00),2U);
Oltre ai primi due parametri che abbiamo menzionato precedentemente troviamo 2 nuovi parametri
MaximumSnoozeCount (TimeStamp) rappresenta l’intervallo tra una notifica e l’altra. Il valore puà essere compreso tra 60 secondi e 60 minuti .
SnoozeInterval (UInt) rappresenta il numero di volte che la notifica deve essere visualizzata . E’ possibile impostare un valore minimo di 1 ad un massimo di 5 .
E’ possibile scaricare l’esempio BuildToastNotification . La relativa documentazione è consultabile qui .
Tags : Windows 8 Consumer Preview , ScheduledToastNotification