Ma non funziona quando l'emulatore è spento e riacceso.
Questo è il comportamento corretto - AlarmManager
Il programma è cancellato su un riavvio. È necessario registrarsi specificamente per ricevere il ACTION_BOOT_COMPLETED
trasmettere, al fine di ristabilire gli eventi di allarme dopo un riavvio.
Voglio dire, dovrei impostare l'intento che il gestore della sveglia fa per Broadcastreciever?
Bene, se stai usando un _WAKEUP
-Amine in stile, la ricetta è usare a getBroadcast()
PendingIntent
insieme a AlarmManager
, dove il BroadcastReceiver
è neanche un WakefulBroadcastReceiver
(e segue queste istruzioni) o passa il controllo a mio WakefulIntentService
.
Ho esempi in qualche modo controllato di utilizzo WakefulIntentService
e WakefulBroadcastRecevier
.
Come vengono archiviati gli allarmi in Android?
Afaik, sono tenuti nella memoria di un processo di sistema operativo centrale e non sono persistiti.