当mac os x应用程序最小化停靠时,我无法获得任何事件。虽然当您的应用程序变为活动且处于非活动状态时会触发通知,但是没有用于最小化窗口的事件。
if(hasUserNotification)
{
//Notification delivered code here....
}
如果条件只应在mac应用程序处于非活动状态或最小化状态时执行,否则在前台不应该显示通知。
答案 0 :(得分:-1)
我想我可以在AppDelegate类中使用applicationDidChangeOcclusionState通知。每次将应用程序最小化到扩展坞并最大化时,都会调用此方法。
- (void)applicationDidChangeOcclusionState:(NSNotification *)notification
{
if ([NSApp occlusionState] & NSApplicationOcclusionStateVisible) {
// The app is visible; continue doing work
NSLog(@"app is visible");
} else {
// The app is not visible; stop doing work }
NSLog(@"app is not visible");
}
}