Domanda

Sto cercando di creare un'app per pianificare le attività e ho fatto un'app di allarme cercando di imparare almeno a fare quella parte. Utilizza AlarmManager e fa scattare un allarme alla volta scelto da a TimePicker. Ma non funziona quando il emulator è spento e di nuovo.

Quindi sto cercando di usare BroadcastReceiver Ma non capisco nessuna delle guide ... Voglio dire, dovrei impostare il intent che il alarm manager fa a il BroadcastReciever? O posso semplicemente avviare l'app e quindi l'allarme esiste o cosa? Come vengono archiviati gli allarmi in Android?

È stato utile?

Soluzione

Ma non funziona quando l'emulatore è spento e riacceso.

Questo è il comportamento corretto - AlarmManagerIl 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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top