NSUserNotificationCenter odrzuć powiadomienie
Próbuję użyć nowego Mountain Lion NSUserNotificationCenter dla mojej aplikacji (co nie jest zbyt trudne). Publikowanie powiadomień działa jak urok za pośrednictwem
NSUserNotification *userNotification = [[NSUserNotification alloc] init];
userNotification.title = @"Some title";
userNotification.informativeText = @"Some text";
[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:userNotification];
Jednak chciałbym odrzucić wszystkie powiadomienia, które są na ekranie, gdy aplikacja nabiera ostrości. Na przykład. tak jak robi to nowa aplikacja Wiadomości. Po otrzymaniu nowych wiadomości w tle wyświetlane są powiadomienia. Gdy aplikacja stanie się ponownie aktywna, zostaną one automatycznie odrzucone i znikną z ekranu oraz z Centrum powiadomień.
Aby to powtórzyć, zarejestrowałem metodę doNSApplicationDidBecomeActiveNotification
powiadomienie, które również zostanie pomyślnie wywołane. Tam dzwonię[NSUserNotificationCenter defaultUserNotificationCenter] removeAllDeliveredNotifications]
.
Powoduje to jednak, że powiadomienia zebrane w Centrum powiadomień są usuwane, podczas gdy odpowiednie „bąbelki” wyświetlane w prawym górnym rogu są nadal wyświetlane.
Iterowanie wszystkich dostarczonych powiadomień i usuwanie ich osobno ma dokładnie taki sam efekt, jak przy użyciuscheduleNotification
zamiastdeliverNotification
.
Czy jestem jedyną osobą, która tego doświadcza, czy też brakuje mi czegoś, aby programowo odrzucić część ekranową i część powiadomienia Centrum powiadomień?