osx-mountain-lion - Mac OS X 10.8 NSUserNotification 警报通知不会被忽略

标签 osx-mountain-lion nsusernotificationcenter

在我们的应用程序中,我们以警报样式显示通知。 显示通知工作正常,当用户通过单击通知或单击操作按钮与通知交互时,我们也会收到回调。 但是,即使用户通过单击通知内容将其关闭,警报通知弹出窗口仍保留在屏幕上而不是消失。只有在单击关闭按钮后,它才会消失。弹出窗口保留在屏幕上,当通知被清除时通知中心。

是否有任何解决方案可以在用户点击警报通知内容时消除弹出窗口。

最佳答案

您需要手动处理此问题。实现委托(delegate)方法 -userNotificationCenter:didActivateNotification:,如下所示:

- (void)userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification
{
    if (notification.activationType == NSUserNotificationActivationTypeContentsClicked) {
        [center removeDeliveredNotification:notification];
    }
}

关于osx-mountain-lion - Mac OS X 10.8 NSUserNotification 警报通知不会被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28380564/

相关文章:

应用程序处于事件状态时不显示 Swift NSUserNotification

cocoa - 创建带有回复字段的通知

java - Maven 不能与 JAVA_HOME 版本一起运行,为什么?

ruby - rvm 无法再在 Mac OS X Mountain Lion 上安装 1.8.7-p352

macos - 如何为 OSX 注册自定义非文档 UTI/文件类型以识别它?

macos - 当应用程序未获得焦点时,NSUserNotificationCenter 委托(delegate)不起作用

swift - 当应用处于事件状态时显示 NSUserNotification

java - OS X 10.8 Gatekeeper 和 Java 小程序

macos - NSScrollView 不响应手势