我正在嘗試爲我的應用程序使用新的Mountain Lion NSUserNotificationCenter(實際上並不太難)。發佈通知,通過NSUserNotificationCenter關閉通知
NSUserNotification *userNotification = [[NSUserNotification alloc] init];
userNotification.title = @"Some title";
userNotification.informativeText = @"Some text";
[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:userNotification];
但是用得好好的,我要取消那些在屏幕上,一旦應用程序獲得焦點的所有通知。例如。就像新的Messages應用程序一樣。當在後臺收到新消息時,會顯示通知。當應用程序再次激活時,它們會自動消失並從屏幕和通知中心消失。
要複製這個,我已經註冊了一個方法到NSApplicationDidBecomeActiveNotification
通知,它也被成功調用。在那裏我叫[NSUserNotificationCenter defaultUserNotificationCenter] removeAllDeliveredNotifications]
。
但是,這樣做的效果是,通知中心收集的通知將被刪除,同時仍顯示右上角顯示的相應「泡泡」。
迭代所有交付的通知並將它們各自移除它們具有完全相同的效果,因爲使用scheduleNotification
而不是deliverNotification
。
我是唯一一個遇到這種情況的人,還是我缺少一些以編程方式忽略通知屏幕部分和通知中心部分?
聽起來像你應該報告這是http://bugreport.apple.com上的錯誤。 –
已經做到了。並不是說蘋果公司的任何人都會真正閱讀它們,但只是爲了完成。不知道我是否在這裏錯過了一些東西,儘管這是我的錯。 – BinaryBucks
在什麼情況下你使用通知,你需要有'氣泡'嗎? –