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
Collegare applicazioni server e client con .NET Aspire
Utilizzare WebJobs su Linux con Azure App Service
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Gestire pubblicazione Kubernetes tramite .NET Aspire
Implementare il throttle in JavaScript
Creare agenti facilmente con Azure AI Agent Service
Arricchire l'interfaccia di .NET Aspire
Gestire codice JavaScript con code splitting e lazy loading
Integrare OpenAI tramite Aspire
Evidenziare una porzione di testo in un pagina dopo una navigazione
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Utilizzare i variable font nel CSS
I più letti di oggi
- The Agentic Day - Milano
- .NET Conference Italia 2025 - Milano
- Usare ASP.NET Identity per autenticare i client di un'applicazione ASP.NET Web API
- UX e UI nelle applicazioni Windows e Windows Phone
- Data access with LiteDB in Blazor
- Blazor PWA e Offline-First
- .NET per sviluppatori AWS
- Modernizzare le applicazioni WPF e Windows Forms con Blazor


