在线文档教程
Electron

通知(Windows,Linux,macOS) | Notifications (Windows, Linux, macOS)

Notifications (Windows, Linux, macOS)

所有三个操作系统都提供了向应用程序发送通知的方法。Electron方便地允许开发人员使用HTML5 Notification API发送通知,使用当前运行的操作系统的本机通知API来显示它。

注意:由于这是一个HTML5 API,因此它只能在渲染器进程中使用。如果您想在主流程中显示通知,请查看通知模块。

let myNotification = new Notification('Title', { body: 'Lorem Ipsum Dolor Sit Amet' }) myNotification.onclick = () => { console.log('Notification clicked') }

尽管跨操作系统的代码和用户体验相似,但存在细微的差异。

Windows

  • 在Windows 10上,通知“正常工作”。

  • 在Windows 8.1和Windows 8上,必须将具有应用程序用户模型ID的应用程序快捷方式安装到“开始”屏幕。但请注意,它不需要固定到“开始”屏幕。

  • 在Windows 7上,通知通过自定义实现工作,该自定义实现与新系统上的本机类似。

此外,在Windows 8中,通知正文的最大长度为250个字符,Windows团队建议通知应保持为200个字符。也就是说,Windows 10中的这个限制已经被删除,Windows团队要求开发人员合理。尝试将大量文本发送到API(数千个字符)可能会导致不稳定。

高级通知

Windows的更新版本允许使用自定义模板,图像和其他灵活元素的高级通知。发送这些通知(通过主处理或渲染过程),可以使用用户级模块电子-窗口通知,它利用本机节点的插件来发送ToastNotificationTileNotification对象。

虽然包含按钮的通知只能electron-windows-notifications处理,但处理回复需要使用electron-windows-interactive-notifications,这有助于注册所需的COM组件并使用输入的用户数据调用您的Electron应用程序。

安静的小时/演示模式

要检测您是否被允许发送通知,请使用userland模块电子通知状态

这使您可以提前确定Windows是否会悄悄丢弃通知。

MacOS

MacOS上的通知非常简单,但您应该了解Apple关于通知的人机界面准则

请注意,通知的大小限制为256个字节,如果超过该限制,将会被截断。

高级通知

更高版本的macOS允许通知输入字段,允许用户快速回复通知。为了使用输入字段发送通知,请使用userland模块node-mac-notifier

请勿打扰/会话状态

若要检测是否允许发送通知,请使用userland模块电子通知状态...

这将允许您提前检测是否显示通知。

Linux

使用libnotify通知可以在遵循桌面通知规范的任何桌面环境中显示通知,包括Cinnamon,Enlightenment,Unity,GNOME,KDE。