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
Creare una chat AI con Angular e React
Gestione opzioni colonna nella Blazor QuickGrid
Importare un servizio esterno in .NET Aspire
Creare una UI per i tool MCP con resource e Azure Functions
Azure SQL Database per dev: tutte le novità da non perdere
Sfruttare la funzione REGEXP_COUNT di Sql Server per contare i record che corrispondono a una certa regular expression
Esporre tool MCP da API REST con Azure App Service
Ciclo di vita risorse con .NET Aspire
Microsoft Fabric: la piattaforma unificata per l'ecosistema dati moderno
Breaking the Legacy Barrier: how to Use AI to Modernize Applications
Mappare una complex property di una entity su un campo JSON
Testare le API di Azure Resource Manager con API Playground
I più letti di oggi
- Personalizare l'icona e le funzionalità di un sito web per iOS e IE
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Accedere a risorse e immagini in Windows Store app di Windows 8
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Permettere il Drag-and-drop solo su zone predefinite con Silverlight 2.0
- Accedere a dati esposti con WebService con Silverlight 1.0
- Utilizzare dati in formato XML in XAML


