Alarm Manager

Qual a maneira mais correta para disparar uma intent as 22 horas, todos os dias?

AlarmManager

Com AlarmManager podemos agendar o disparo de uma intent na data e hora desejada, ou até mesmo programar um intervalo para repetição.

Cancelando um alarme

  1. O alarme poderá ser cancelado pelo próprio aplicativo ou caso o device seja reiniciado.
     
  2. Encerrar o app não fará com que o alarme seja cancelado.

Exemplo

Cancelando um alarme

Repetir a cada 30 segundos?

AlarmManager vs Handler

Não confunda os componentes da arquitetura Android.

Alarms são gerenciados pela aplicação através do serviço AlarmManager, disponibilizado pelo sistema operacional. Sair da aplicação não destruirá um alarme configurado.

Handlers existem enquanto a aplicação estiver rodando. Sair da aplicação destruirá qualquer agendamento com Handler.

Vamos praticar...

  1. Implemente um broadcast receiver e dispare um broadcast com AlarmManager;
     
  2. Cancele um Alarm ao passar pelo onDestroy();
     
  3. Implemente a repetição de um Alarm.

Desenv. de apps móveis para Android (AlarmManager)

By Ricardo Longa

Desenv. de apps móveis para Android (AlarmManager)

  • 1,489