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
Esporre workflow come server MCP con Azure Logic Apps
Gestire pubblicazione Kubernetes tramite .NET Aspire
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Utilizzare Intersect e Except per filtrare set di dati in TSql
Self-healing degli unit test con Copilot in GitHub
Eliminare record doppi in Sql Server
Utilizzo del persistent state di Blazor nel prerendering
Dallo sviluppo locale ad Azure con .NET Aspire
Gestione delle scrollbar dinamiche in HTML e CSS
Personalizzare i parametri del CSS Scroll Snap
Analizzare il contenuto di una issue con GitHub Models e AI
Eseguire i pre-commit hook di git con dependabot




