6 votes

Y a-t-il une API Android pour supprimer des alarmes

J'ai une application qui permet à l'utilisateur de définir des alarmes à différents moments. Actuellement, elle utilise AlarmManager, un BroadcastReceiver et un AlertDialog pour avertir l'utilisateur qu'une alarme s'est déclenchée.

J'aimerais voir si mon application pourrait utiliser l'horloge d'alarme intégrée. Je sais que je peux programmer des alarmes de la manière suivante:

            Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
        i.putExtra(AlarmClock.EXTRA_HOUR, new Date(alarm.getTime()).getHours());
        i.putExtra(AlarmClock.EXTRA_MINUTES, new Date(alarm.getTime()).getMinutes());
        i.putExtra(AlarmClock.EXTRA_MINUTES, alarm.getDescription());
        i.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
        context.startActivity(i);

mais cela présente 2 problèmes:

  1. il ne semble pas y avoir de moyen de programmer une alarme pour dans plus de 24 heures
  2. l'horloge d'alarme intégrée d'Android ne permet de définir que 10 alarmes

Pour contourner le problème 1, je pourrais utiliser AlarmManager pour programmer l'alarme de l'utilisateur dans les 24 heures suivant l'heure programmée. Cependant, cela me laisse avec le problème 2 - idéalement, j'aurais besoin d'un moyen de supprimer les alarmes de mon application de l'horloge d'alarme Android une fois qu'elles ont été exécutées (pour éviter que les alarmes de mon application occupent de la place dans l'horloge d'alarme), mais je ne trouve pas de moyen d'obtenir une liste d'alarmes et en supprimer une.

Est-ce possible, ou dois-je me contenter de l'approche manuelle AlarmManager/AlertDialog?

0voto

Warpzit Points 11150

Si vous avez besoin d'une alarme sous 24 heures, vous pouvez utiliser l'Alarme. Si c'est plus tard dans le futur, vous devrez ajouter une notification à un événement de calendrier. Vous pourriez également créer votre propre implémentation personnalisée d'un gestionnaire d'alarme, tout dépend de ce que vous essayez d'accomplir, ce dont vous n'avez pas du tout parlé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X