2011-01-13 5 views
0

Ich entwickle eine App, die alle fünf Minuten durch UILocalNotifications Tipps an Benutzer sendet. Das Problem ist, dass, wenn Sie Ihr Telefon für eine Weile nicht benutzen, sich die Benachrichtigungen häufen und wenn Sie das Telefon entsperren, müssen Sie sie nacheinander ablehnen, was ziemlich ärgerlich werden kann, wenn Sie das Telefon nicht benutzt haben für eine ganze Weile. Durch Klicken auf die Aktionsschaltfläche auf dem Alert werden Sie zurück zur Anwendung gesendet, aber selbst dann müssen Sie noch alle Benachrichtigungen durchgehen.Anhäufung UILocalNotifications

Gibt es eine Möglichkeit, alle Benachrichtigungen, die bereits mit einem einzigen Klick ausgelöst wurden, zu verwerfen?

Danke für Ihre Hilfe.

Miky Mike

Antwort

1

Na ja, eigentlich, ich merke ich einen Fehler gemacht.

Um alle UIlocalNotifications an einem zu stornieren, muss ich nur noch diese einfache Methode erstellen: eine Zeile Code ist genug:

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

[[UIApplication sharedApplication] cancelAllLocalNotifications]; 
} 

und es gibt Sie. Danke trotzdem.

0

vor dem nächsten Alarm Planung besser Sie alle vorherigen Mitteilungen löschen und dann die neue,

UIApplication* app = [UIApplication sharedApplication]; 
NSArray* oldNotifications = [app scheduledLocalNotifications]; 
// Clear out the old notification before scheduling a new one. 
if ([oldNotifications count] > 0) 
    [app cancelAllLocalNotifications]; 
+0

Das Problem ist, dass ich alle Benachrichtigungen auf einmal in der AnwendungWillResignActive starten, weil ich es mir nicht leisten kann, den Benutzer jedes Mal, wenn er eine Benachrichtigung erhält, zurück zu meiner App zu senden. Würde Ihr Code die Benachrichtigungen löschen, die bereits gestartet wurden? Oder gibt es eine Möglichkeit, mehrfache Antippen der Abbruch- oder Aktionstaste der Alarme zu simulieren? –

Verwandte Themen