Question

Je veux régler une alarme dans ma demande qui sera déclenchée chaque jour. Selon le document, je dois régler une alarme unique, et dans le BroadcastReceiver qui recevra le signal d'alarme, réinitialiser l'alarme pour le lendemain. Est-ce exact?

Mon BroadcastReceiver gère bien le wakelock et lancer un service qui libère ce wakelock. Tout fonctionne très bien ici.

Cependant, j'ai des problèmes. Dans ma demande il y a une case à cocher qui est cochée lorsque l'alarme est en place. Pour savoir si mon alarme, j'utilise la condition suivante:

Intent intent = new Intent( context, AlarmReceiver.class );
boolean alarmUp = (
PendingIntent.getBroadcast( context, 0, intent, PendingIntent.FLAG_NO_CREATE) != null)

Mais cela ne semble pas très bien, est qu'une bonne façon de savoir si une alarme est en place?

Merci d'avance

Était-ce utile?

La solution

Pour la première partie de votre question, vous pouvez simplement utiliser une alarme à répétition, ou programmer une nouvelle alarme chaque fois qu'un tel feu que vous faites. De toute façon fonctionne.

Vous pouvez également configurer un récepteur de radiodiffusion qui reçoit ACTION_BOOT_COMPLETED afin que vous puissiez reprogrammer vos alarmes lorsque le téléphone redémarre.

En ce qui concerne le contrôle si l'alarme existe, le PendingIntent avec FLAG_NO_CREATE est exactement comment vous le faire.

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