Question

Je développe une application qui envoie des conseils aux utilisateurs toutes les cinq minutes par UILocalNotifications. Le problème est que si vous n'utilisez pas votre téléphone pendant un certain temps, les notifications empilent et lorsque vous déverrouiller le téléphone, vous devez les rejeter l'un après l'autre, ce qui peut devenir assez ennuyeux si vous ne l'avez pas utilisé le téléphone pour un bout de temps. En cliquant sur le bouton d'action sur l'alerte vous renvoie à l'application, mais même alors, vous devez toujours passer par toutes les notifications.

Y at-il des moyens de rejeter toutes les notifications qui ont déjà été tirées en un seul clic?

Merci pour votre aide.

Miky Mike

Était-ce utile?

La solution

Eh bien, en fait, je me rends compte que je fait une erreur.

Pour annuler tous les UIlocalNotifications à un, je dois juste pour créer cette méthode simple: une ligne de code suffit:

 - (void)application:(UIApplication *)app didReceiveLocalNotification :(UILocalNotification *)notification {

[[UIApplication sharedApplication] cancelAllLocalNotifications];
}

et vous y êtes. Merci quand même.

Autres conseils

Avant de programmer l'alarme suivante vous feriez mieux d'annuler toutes les notifications précédentes puis définissez la nouvelle,

UIApplication* app = [UIApplication sharedApplication]; 
NSArray* oldNotifications = [app scheduledLocalNotifications];
// Clear out the old notification before scheduling a new one. 
if ([oldNotifications count] > 0)
   [app cancelAllLocalNotifications];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top