Mas não funciona quando o emulador está desligado e ligado novamente.
Esse é o comportamento correto - AlarmManager
O cronograma é liberado em uma reinicialização. Você precisa se registrar especificamente para receber o ACTION_BOOT_COMPLETED
Transmitir, para restabelecer seus eventos de alarme após uma reinicialização.
Quero dizer, devo definir a intenção que o gerente de alarme faz para o BroadCastreciever?
Bem, se você estiver usando um _WAKEUP
-Style Alarm, a receita é usar um getBroadcast()
PendingIntent
com AlarmManager
, onde o BroadcastReceiver
é também uma WakefulBroadcastReceiver
(e segue essas instruções) ou passa o controle para minha WakefulIntentService
.
Eu tenho exemplos um tanto contividos de usar WakefulIntentService
e WakefulBroadcastRecevier
.
Como os alarmes são armazenados no Android?
Afaik, eles são mantidos na memória de um processo principal do sistema operacional e não são persistidos.