Question

J'essaie de créer une application de calendrier de tâches et j'ai fait une application d'alarme en essayant d'apprendre à faire cette partie au moins. Il utilise AlarmManager Et il fait que l'alarme se déclenche à un moment choisi par un TimePicker. Mais ça ne marche pas quand le emulator est éteint de temps en temps.

Alors j'essaye d'utiliser BroadcastReceiver Mais je ne comprends aucun des guides ... Je veux dire, je suis censé définir le intent que le alarm manager fait à la BroadcastReciever? Ou puis-je simplement démarrer l'application, puis l'alarme existe à nouveau ou quoi? Comment les alarmes sont-elles stockées dans Android?

Était-ce utile?

La solution

Mais cela ne fonctionne pas lorsque l'émulateur est éteint à nouveau.

C'est le bon comportement - AlarmManagerLe calendrier est effacé lors d'un redémarrage. Vous devez vous inscrire spécifiquement pour recevoir ACTION_BOOT_COMPLETED diffuser, afin de rétablir vos événements d'alarme après un redémarrage.

Je veux dire que suis-je censé définir l'intention que le gestionnaire d'alarme fasse au BroadCastreciciever?

Eh bien, si vous utilisez un _WAKEUP- Alarme de style, la recette consiste à utiliser un getBroadcast() PendingIntent avec AlarmManager, où le BroadcastReceiver est soit un WakefulBroadcastReceiver (et suit ces instructions) ou transmet le contrôle à ma WakefulIntentService.

J'ai des exemples quelque peu comptés d'utilisation WakefulIntentService et WakefulBroadcastRecevier.

Comment les alarmes sont-elles stockées dans Android?

Afaik, ils sont tenus à la mémoire d'un processus de système d'exploitation central et ne sont pas persistés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top