12
A
回答
0
我不知道任何正式記錄的解決方案或通知(讓我知道!),但是當我測試它時似乎工作(至少在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似乎會改變。
相關問題
- 1. 如何檢查用戶是否打開了通知中心
- 2. 如何檢測通知中心是否已打開
- 3. 如何知道何時打開按鈕; Azure推送通知通知中心?
- 4. 如何在Mac OS X中檢測SSD?
- 5. 如何在OS X中檢測到打印機無紙?
- 6. 如何檢測ionicSideMenu何時打開?
- 7. 如何在用戶點擊通知時打開特定課程?
- 8. 如何在使用OS X進行開發時測試IE?
- 9. 在Mac OS X下開發時如何在IE中測試?
- 10. 如何檢測OS
- 11. 如何檢測Mac OS X中的Java運行時?
- 12. 如何檢測客戶端何時打開套接字?
- 13. 如何通過瀏覽器打開VLC與PHP鍵(Mac OS X)
- 14. 如何將變量添加到Mac OS X上的通知中心?
- 15. 如何在OS X中使用C++打開「打開文件」對話框?
- 16. 檢測用戶何時開始錄像
- 17. 如何檢測Mac OS X中使用揚聲器的程序?
- 18. 如何在Mac OS X Leopard中檢測用戶所在的空間?
- 19. 如何在OS X中檢查用戶名/密碼組合?
- 20. 通知中心(OS X) - 變量爲標題
- 21. 如何檢測某個應用程序何時打開?
- 22. 如何檢測用戶何時未點擊通知? (Xcode 8,iOS 10)
- 23. 如何在OS X中打印MKMapView?
- 24. 檢測窗口何時被打開
- 25. 如何在用戶點擊推送通知時禁用打開應用程序
- 26. 如何檢測用戶何時離開EditText?
- 27. 如何在Mac OS X中查看/打開計算器?
- 28. 如何在OS X中打開端口22 10.6.7
- 29. 我該如何說服OS X在MacVim中打開txmt:// URL?
- 30. 如何通過MAC OS中的Automator檢查應用程序是否打開?
我最初認爲這可能是通過檢查'[[NSScreen mainScreen] visibleFrame]'來完成的,但這似乎不適用於通知中心抽屜(OS X 10.9)。 – pkamb 2015-02-16 23:08:26
你有沒有找到解決這個問題的方法? – WCByrne 2017-05-02 04:31:06