Nell'SDK di WinRT di Windows 8.1 abbiamo a disposizione la classe AlarmApplicationManager con cui è possibile chiedere all'utente di elevare l'applicazione a gestire gli allarmi di sistema.
Questo permette alle notifiche eseguite dall'applicazione di avere un'accuratezza intorno al secondo.
AlarmApplicationManager.RequestAccessAsync();
Successivamente possiamo creare e schedulare le notifiche di tipo toast come da snippet seguente:
string toastXmlString = "<toast duration=\"long\">\n" + "<visual>\n" + "<binding template=\"ToastText02\">\n" + "<text id=\"1\">Alarms Notifications</text>\n" + "<text id=\"2\">Esempio</text>\n" + "</binding>\n" + "</visual>\n" + "<commands scenario=\"alarm\">\n" + "<command id=\"snooze\"/>\n" + "<command id=\"dismiss\"/>\n" + "</commands>\n" + "<audio src=\"ms-winsoundevent:Notification.Looping.Alarm2\" loop=\"true\" />\n" + "</toast>\n"; var toastDOM = new XmlDocument(); toastDOM.LoadXml(toastXmlString); var toastNotifier = ToastNotificationManager.CreateToastNotifier(); var customAlarmScheduledToast = new ScheduledToastNotification(toastDOM, DateTime.Now.AddSeconds(2)); toastNotifier.AddToSchedule(customAlarmScheduledToast);
In questo otteniamo il seguente risultato a video:
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare Tailwind CSS all'interno di React: primi componenti
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Cambiare la chiave di partizionamento di Azure Cosmos DB
Le novità di Angular: i miglioramenti alla CLI
Gestire undefined e partial nelle reactive forms di Angular
Code scanning e advanced security con Azure DevOps
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Usare un KeyedService di default in ASP.NET Core 8
Miglioramenti agli screen reader e al contrasto in Angular
Eseguire una GroupBy per entity in Entity Framework
Utilizzare la session affinity con Azure Container Apps
Sfruttare lo stream rendering per le pagine statiche di Blazor 8