objective-c – 用户在OS X上空闲后的通知?
检测用户何时空闲X时间,然后检测用户何时立即处于活动状态的最佳方法是什么?
我知道有NSWorkspace提供将要/做睡眠/唤醒通知,但我不能依赖它,因为睡眠设置通常约为15分钟.我需要能够检测用户是否闲置了大约1-2分钟. 这个answer提供了一种获取空闲时间的方法.如果可能的话,我想避免投票. 解决方法
据我所知,轮询是你唯一的选择.当用户1118321指出时,每O(分钟)轮询不太可能导致任何问题,性能或其他问题.
如果您的应用程序有GUI并且无论如何都会收到UI事件,您可以通过[NSEvent addLocalMonitorForEventsMatchingMask:handler:]安装一个处理程序,它会在每个事件上重置您的计时器.如果用户始终处于活动状态,至少在您自己的应用中,这将有助于减少甚至消除民意调查. 一旦确定用户空闲时间足够长,您就可以安装全局事件点击以观察下一个事件.请参阅 – [NSEvent addGlobalMonitorForEventsMatchingMask:handler:]. 注意:如果可能的话,应该使用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |