Notification
创建操作系统桌面通知
进程:主进程
如果要从渲染器进程显示通知,则应使用 web Notifications API
类: Notification
创建操作系统桌面通知
进程:主进程
Notification
是一个 EventEmitter。
它使用 options
设置的本机属性创建一个新的 Notification
。
静态方法
Notification
类具有以下静态方法
Notification.isSupported()
返回 boolean
- 当前系统是否支持桌面通知
new Notification([options])
实例事件
使用 new Notification
创建的对象会发出以下事件
某些事件仅在特定操作系统上可用,并标记为如此。
事件:'show'
返回
event
Event
当通知显示给用户时发出。请注意,此事件可能会被多次触发,因为通知可以通过 show()
方法多次显示。
事件:'click'
返回
event
Event
当用户单击通知时发出。
事件:'close'
返回
event
Event
当用户手动干预关闭通知时发出。
在通知关闭的所有情况下,不能保证会发出此事件。
在 Windows 上,close
事件可以通过以下三种方式之一发出:使用 notification.close()
进行编程解除,由用户关闭通知或通过系统超时。如果在初始 close
事件发出后通知位于操作中心中,则调用 notification.close()
将从操作中心删除通知,但不会再次发出 close
事件。
事件:'reply' macOS
返回
event
Eventreply
string - 用户在内联回复字段中输入的字符串。
当用户单击 hasReply: true
的通知上的“回复”按钮时发出。
事件:'action' macOS
返回
event
Eventindex
number - 已激活的操作的索引。
事件:'failed' Windows
返回
event
Eventerror
string - 执行show()
方法时遇到的错误。
在创建和显示本机通知时遇到错误时发出。
实例方法
使用 new Notification()
构造函数创建的对象具有以下实例方法
notification.show()
立即向用户显示通知。与 web notification API 不同,实例化 new Notification()
不会立即将其显示给用户。相反,您需要在操作系统显示之前调用此方法。
如果通知之前已显示,则此方法将解除先前显示的通知并创建一个具有相同属性的新通知。
notification.close()
解除通知。
在 Windows 上,当通知在屏幕上可见时调用 notification.close()
将解除通知并将其从操作中心删除。如果在屏幕上不再可见通知后调用 notification.close()
,则调用 notification.close()
将尝试将其从操作中心删除。
实例属性
notification.title
表示通知标题的 string
属性。
notification.subtitle
表示通知副标题的 string
属性。
notification.body
表示通知正文的 string
属性。
notification.replyPlaceholder
表示通知回复占位符的 string
属性。
notification.sound
表示通知声音的 string
属性。
notification.closeButtonText
表示通知关闭按钮文本的 string
属性。
notification.silent
表示通知是否静音的 boolean
属性。
notification.hasReply
一个 boolean
属性,表示通知是否具有回复操作。
notification.urgency
Linux
一个 string
属性,表示通知的紧急程度。可以是 'normal','critical' 或 'low'。
默认值为 'low' - 更多信息请参阅 NotifyUrgency。
notification.timeoutType
Linux Windows
一个 string
属性,表示通知超时持续时间的类型。可以是 'default' 或 'never'。
如果 timeoutType
设置为 'never',则通知永不过期。它会一直保持打开状态,直到被调用 API 或用户关闭。
notification.actions
一个 NotificationAction[] 属性,表示通知的操作。
notification.toastXml
Windows
一个 string
属性,表示通知的自定义 Toast XML。
播放声音
在 macOS 上,您可以指定在显示通知时要播放的声音的名称。除了自定义声音文件外,还可以使用任何默认声音(在“系统偏好设置”>“声音”下)。请确保将声音文件复制到应用程序包下(例如,YourApp.app/Contents/Resources
)或以下位置之一
~/Library/Sounds
/Library/Sounds
/Network/Library/Sounds
/System/Library/Sounds
有关更多信息,请参阅 NSSound
文档。