Olá pessoal, tudo bom?
Neste post, escrevo sobre como agendar alarmes e lembretes no Windows Phone através de uma APP que você esteja desenvolvendo. A técnica é bastante simples, pois podemos contar com classes praticamente prontas para esse fim, mas antes de iniciarmos a codificação, é importante entendermos qual a diferença entre ALARMES e LEMBRETES para o WP.
Alarmes (Alarm): Quando você agenda um alarme para o Windows Phone, isso significa dizer que você está planejando ser avisado sobre algum evento que você não pode esquecer ou deixar de fazer de jeito nenhum. Seu funcionamento é parecido ao de um despertador, ou seja, ficará emitindo avisos sonoros (o desenvolvedor pode escolher qual som irá tocar) ininterruptamente até que o dono do telefone tenha que interferir e então notar a mensagem de aviso que lhe está sendo passado.
Lembretes (Reminder): Os lembretes são parecidos com os alarmes, mas o aviso sonoro ocorre apenas uma vez no momento em que o mesmo foi agendado, porém permite que o usuário reagende o lembre para um novo período de tempo e também lhe é dada a opção de tocar no lembrete e então ser redirecionado para uma determinada parte da APP que gerou o lembrete, por exemplo, caso você estivesse utilizando um leitor de RSS para ler alguma notícia e decidisse agendar a leitura de tal notícia para mais tarde, nesse caso, o desenvolvedor poderia preparar o lembrete para permitir que quando o mesmo fosse disparado pelo agendamento o usuário pudesse tocá-lo para ser direcionado diretamente para a porção da APP que permitiria a leitura da notícia agendada.
Bem, agora que entendemos a diferença entre alarmes e lembretes, vamos verificar como codifica-los:
Implementando alarmes
private void btnAlarm_Click(object sender, RoutedEventArgs e) { Alarm alarm = new Alarm("Alarm") { BeginTime = DateTime.Now.AddMinutes(1), Content = "Exemplo de Alarme !!!", RecurrenceType = RecurrenceInterval.None, Sound = new Uri("/Assets/AirHorn.mp3", UriKind.Relative) }; ScheduledActionService.Add(alarm); }
Implementando lembretes
private void btnReminder_Click(object sender, RoutedEventArgs e) { var schedule = ScheduledActionService.Find("Lembrete"); if (schedule == null) { Reminder reminder = new Reminder("Lembrete") { BeginTime = DateTime.Now.AddSeconds(30), Title = "Blog do Eduardo H. Rizo", Content = "Teste de Lembrete...", RecurrenceType = RecurrenceInterval.None, NavigationUri = new Uri("/ReminderPage.xaml?msg=Detalhes do Lembrete", UriKind.Relative) }; ScheduledActionService.Add(reminder); } else { if (MessageBox.Show("O lembrete já está agendado. Deseja substituir?", "Aviso", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { Reminder reminder = (Reminder)schedule; reminder.BeginTime = DateTime.Now.AddSeconds(30); reminder.Content = "Teste de Lembrete Alterado..."; ScheduledActionService.Replace(reminder); } } }
Grande abraço !
Eduardo Henrique Rizo
Post Relacionado:
[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]
Pingback: Free: Curso Windows Phone – Vários tópicos | Blog do Eduardo H. Rizo
Pingback: [Desenvolvimento] Como agendar alarmes e lembretes através da APP - Windows Phone Brasil
Pingback: Curso Windows Phone – Como consultar compromissos na agenda do Windows Phone | Blog do Eduardo H. Rizo