2013-03-09 3 views
12

जब कोई उपयोगकर्ता ओएस एक्स माउंटेन शेर अधिसूचना केंद्र खोलता है तो मैं कैसे पता लगा सकता हूं?जब उपयोगकर्ता ओएस एक्स अधिसूचना केंद्र खोलता है तो कैसे पता लगाया जाए?

क्या कोई एनएसएनोटिफिकेशन है (यूजी, एक अलग चीज़ के लिए बहुत ही समान शब्द) जिसे मैं देख सकता हूं?

+0

मैंने शुरू में सोचा कि यह '[[एनएसएसस्क्रीन मुख्यस्क्रीन] दृश्यमान फ्रेम] की जांच करके पूरा किया जा सकता है, लेकिन यह अधिसूचना केंद्र ड्रॉवर (ओएस एक्स 10.9) के लिए समायोजित नहीं लगता है। – pkamb

+0

क्या आपको कभी इसका समाधान मिला? – WCByrne

उत्तर

0

मुझे किसी भी आधिकारिक रूप से प्रलेखित समाधान या अधिसूचना (मुझे पता है!) के बारे में पता नहीं है, लेकिन जब मैंने इसका परीक्षण किया, तो यह काम (कम से कम ओएस एक्स 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"); 
    } 
} 

मुझे बताएं कि क्या यह आपके लिए काम करता है या नहीं करता है।

कभी नहीं - पुनरारंभ/लॉग-ऑफ पर + लॉग इन करें, टूलबॉक्स मैसेजएवेंटडाटा बदलना प्रतीत होता है।

संबंधित मुद्दे

 संबंधित मुद्दे