我正在开发一个进行网络调用的 mac 应用程序。我正在使用一个Timer
每 15 分钟进行一次网络调用以刷新一些数据。我只希望在用户使用系统时触发计时器并进行调用(否则它只是进行不必要的调用),即系统未睡眠时。我该怎么做?我读到关于 mach 有一个单调时钟,仅在系统唤醒时更新,但我不确定如何实现我的计时器以按需要运行。有没有办法判断系统是否处于唤醒状态?预先感谢您的任何帮助。
里面有4条通知NS工作区 https://developer.apple.com/documentation/appkit/nsworkspace您可以使用暂停和恢复计时器
-
didWakeNotification https://developer.apple.com/documentation/appkit/nsworkspace/1530973-didwakenotification 当机器从睡眠状态唤醒时发布。
-
willSleepNotification https://developer.apple.com/documentation/appkit/nsworkspace/1530075-willsleepnotification 在机器进入睡眠状态之前发布。
-
screensDidSleepNotification https://developer.apple.com/documentation/appkit/nsworkspace/1530288-screensdidsleepnotification 当机器屏幕进入睡眠状态时发布。
-
screensDidWakeNotification https://developer.apple.com/documentation/appkit/nsworkspace/1524606-screensdidwakenotification 当机器屏幕唤醒时发布。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)