gpt4 book ai didi

macos - 如何检测用户何时打开 OS X 通知中心?

转载 作者:行者123 更新时间:2023-12-03 16:04:19 24 4
gpt4 key购买 nike

如何检测用户何时打开 OS X Mountain Lion 通知中心?

是否有我可以观察到的 NSNotification(呃,非常相似的术语,表示不同的事物)?

最佳答案

我不知道有任何正式记录的解决方案或通知(请告诉我!),但是当我测试它时,只要我的应用程序处于运行状态,这似乎就可以工作(至少在 OS X 10.10 上)我相信前景/有最前面的窗口。

将您的对象添加为观察者:

[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationCenterOpened:) name:@"com.apple.HIToolbox.beginMenuTrackingNotification" object:nil];

[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationCenterClosed:) name:@"com.apple.HIToolbox.endMenuTrackingNotification" object:nil];

向您的对象添加类似于以下内容的方法,确保检查正确的 ToolboxMessageEventData 编号 (4927),例如:

- (void)notificationCenterOpened:(NSNotification*)notification {
if ([notification.userInfo[@"ToolboxMessageEventData"] isEqual: @4927]) {
NSLog(@"Notification center opened");
}
}

- (void)notificationCenterClosed:(NSNotification*)notification {
if ([notification.userInfo[@"ToolboxMessageEventData"] isEqual: @4927]) {
NSLog(@"Notification center closed");
}
}

请告诉我这是否适合您。

没关系 - 重新启动/注销+重新登录后,ToolboxMessageEventData 似乎发生了变化。

关于macos - 如何检测用户何时打开 OS X 通知中心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15316439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com