我正在努力让osx原生通知正常工作。我可以创建通知,但不能让didActivateNotification正常工作。我希望didActivateNotification允许我聚焦窗口并从通知中心删除通知。
下面是我的代码:notice.m
#import "Notice.h"
@implementation Notice
- (void) notify:(NSDictionary *)message {
NSLog(@"Notification - Show it");
NSUserNotification *notification = [[NSUserNotification alloc] init];
[notification setTitle:[message valueForKey:@"title"]];
[notification setInformativeText:[message valueForKey:@"content"]];
[notification setDeliveryDate:[NSDate dateWithTimeInterval:0 sinceDate:[NSDate date]]];
[notification setSoundName:NSUserNotificationDefaultSoundName];
NSUserNotificationCenter *center = [NSUserNotificationCenter defaultUserNotificationCenter];
[center scheduleNotification:notification];
}
- (void) userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification
{
NSLog(@"Notification - Clicked");
notification=nil;
[center removeDeliveredNotification: notification];
}这是正确的触发:
NSLog(@"Notification - Show it");但这不是:
NSLog(@"Notification - Clicked");有什么建议吗?谢谢
发布于 2012-11-03 08:21:34
您可能需要为NSUserNotificationCenter设置委托
NSUserNotificationCenter *center = [NSUserNotificationCenter defaultUserNotificationCenter];
center.delegate = self;您还应该确保您的Notice类实现NSUserNotificationCenterDelegate协议。
https://stackoverflow.com/questions/13204746
复制相似问题