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 WebJobs su Linux con Azure App Service
Gestione file Javascript in Blazor con .NET 9
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Configuratione e utilizzo .NET Aspire CLI
Creare una libreria CSS universale: Nav menu
Definire il colore di una scrollbar HTML tramite CSS
Scrivere selettori CSS più semplici ed efficienti con :is()
Eliminare una project wiki di Azure DevOps
Gestione CSS in Blazor con .NET 9
Combinare Container Queries e Media Queries
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Utilizzare DeepSeek R1 con Azure AI


