您如何确定特定应用程序何时变为活动和不活动?
例如,用户打开 chrome,然后切换到 textmate,然后切换回 chrome。
我希望能够跟踪活动应用程序的时间和内容。
您如何确定特定应用程序何时变为活动和不活动?
例如,用户打开 chrome,然后切换到 textmate,然后切换回 chrome。
我希望能够跟踪活动应用程序的时间和内容。
在 NSApplicationDelegate 你有
管理活动状态 - 仅适用于您的 OWN 应用程序!
一个通知适用于所有应用程序!
当前活跃的应用程序:
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]);
}];