Le applicazioni Windows Phone non possono girare in background, ma possiamo sfruttare dei task periodici per eseguire operazioni ad intervalli.
se il nostro intento è semplicemente quello di avvisare l'utente di una particolare scadenza, Windows Phone 7.1 ci consente di sfruttare delle classi ad hoc.
Lo script di oggi è dedicato alla creazione di un reminder, cioè di notifiche che ricordano a tutti gli effetti quelle che si ricevono attraverso il calendario, ma che sono personalizzate in ogni aspetto.
Il codice per creare una notifica è il seguente:
string reminderId = "MyReminder"; Reminder reminder = ScheduledActionService.Find(reminderId) as Reminder; // se esiste già, dobbiamo rimuoverlo if (reminder != null) ScheduledActionService.Remove(reminderId); // creiamo il nuovo reminder reminder = new Reminder(reminderId); reminder.BeginTime = DateTime.Now.AddSeconds(5); reminder.ExpirationTime = DateTime.Now.AddHours(1); reminder.RecurrenceType = RecurrenceInterval.None; reminder.Content = "Reminder!"; reminder.Title = "Titolo"; reminder.NavigationUri = new Uri("/Task.xaml", UriKind.Relative); ScheduledActionService.Add(reminder);
Le proprietà parlano da sole. In particolare, attraverso NavigationUri possiamo speficare l'azione associata al click sul reminder.
In questo caso si aprirà la nostra applicazione e saremo portati alla pagina /Task.xaml.
In questo caso, occorrerà andare a leggere i valori inviati (Title e Content), con un pezzo di codice com questo:
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); string p1= string.Empty; string p2 = string.Empty; NavigationContext.QueryString.TryGetValue("param1", out p1); NavigationContext.QueryString.TryGetValue("param2", out p2 ); //... }
L'effetto del reminder è quello mostrato in figura, perfettamente in linea con quelli di sistema:

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare Hybrid Cache in .NET 9
Ordinare randomicamente una lista in C#
Introduzione alle Container Queries
Ottimizzare le performance usando Span<T> e il metodo Split
Il nuovo controllo Range di Blazor 9
Introduzione ai web component HTML
Generare la software bill of material (SBOM) in GitHub
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Creare una custom property in GitHub
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Ottenere un token di accesso per una GitHub App
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
I più letti di oggi
- Eseguire query in contemporanea con EF
- Fissare una versione dell'agent nelle pipeline di Azure DevOps
- .NET Aspire per applicazioni distribuite
- Utilizzare Locust con Azure Load Testing
- Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
- Repaint, Reflow e Compositing: Come Funziona il Rendering nel Browser
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!