Creazione di reminder con Windows Phone 7.1

di , 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

Creazione di reminder con Windows Phone 7.1 (#48)
| Condividi su: Twitter, Facebook, LinkedIn, Google+

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