如何确定特定应用程序何时变为活动和无效?
例如,用户打开chrome,然后切换到textmate,然后切换回chrome。
我希望能够跟踪活动应用程序的时间和内容。
答案 0 :(得分:6)
在NSApplicationDelegate中你有
管理活动状态 - 仅适用于您的OWN应用程序!
一个通知适用于所有应用!
答案 1 :(得分:3)
当前有效的应用程序:
NSRunningApplication * frontmost;
frontmost = [[[NSWorkspace sharedWorkspace] runningApplications] filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"active == YES"]][0];
每次激活新应用程序时都可以收到通知:
_myObserver = [[[NSWorkspace sharedWorkspace] notificationCenter] addObserverForName:NSWorkspaceDidActivateApplicationNotification
object:nil
queue:nil
usingBlock:^(NSNotification *note) {
NSLog(@"New application: %@", [[note userInfo] objectForKey:NSWorkspaceApplicationKey]);
}];