Creazione di reminder con Windows Phone 7.1

di Daniele Bochicchio, in Windows Phone 7.1, Windows Phone,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi