跳到主要内容

自定义应用通知弹窗

  • 由于在mac上想要应用通知弹窗,需要应用签名,而签名需要苹果开发者才能配置
  • 可以通过自定义应用通知弹窗,自定义行为,参考实现系统的应用通知
    • 可以配置让提醒一直显示
    • 可以配置让用户必须点击 确认,才关闭
    • 可以自定义控制通知弹窗的行为
  • 用 Electron 做一个小窗口,来模拟系统的应用通知

实现原理​

为什么应用最小化之后,还能收到自定义的应用通知弹窗

  • 应用最小化后,主进程仍然在运行 Electron 里 main process 不会因为主窗口最小化就停止。提醒定时器是在主进程的 ReminderService 里调度的,所以到点后仍然会触发
  • 调用 new BrowserWindow(...) 创建通知弹窗,而不是依赖已经最小化的主窗口
  • 提醒调度在主进程,弹窗也是主进程新建的独立 BrowserWindow,并且用置顶方式显示
  • 这个窗口设置了置顶和不抢焦点显示