通知
创建OS(操作系统)桌面通知
进程:主进程
在渲染进程中使用
如果要显示来自渲染进程的通知, 你应该使用 HTML5 Notification API
类: Notification
创建OS(操作系统)桌面通知
进程:主进程
Notification
是一个EventEmitter.
通过 options
来设置的一个新的原生 Notification
。
静态方法
Notification
类有以下静态方法:
Notification.isSupported()
Returns Boolean
-当前系统是否支持桌面通知
new Notification([options])
options
Object (可选)title
String (可选) - 通知的标题,将在通知窗口的顶部显示。subtitle
String (可选) 通知的副标题, 显示在标题下面。 macOSbody
String (可选) - 通知的正文文本,将显示在标题或副标题下面。silent
Boolean (可选) 在显示通知时是否发出系统提示音。icon
(String | NativeImage) (可选) 用于在该通知上显示的图标。hasReply
Boolean (可选) 是否在通知中添加一个答复选项。 macOStimeoutType
String (可选) Linux Windows - 通知的超时持续时间 可以是 ‘default’ 或 ‘never’.replyPlaceholder
String (可选) 答复输入框中的占位符。 macOSsound
String (可选) 显示通知时播放的声音文件的名称。 macOSurgency
String (可选) Linux - 通知的紧急级别。 可以是 ‘normal’, ‘critical’, 或者 ‘low’actions
NotificationAction[] (可选) macOS - 要添加到通知中的操作 请阅读NotificationAction
文档来了解可用的操作和限制。closeButtonText
String (可选) macOS - 自定义关闭按钮提示内容。 空字符串将替换为默认的本地化文本。toastXml
String (可选) Windows - 自定义的窗口通知描述可取代上面所有属性。 提供完全自定义的设计和通知行为。
实例事件
用 new Notification
创建的对象触发以下事件:
注意: 某些事件仅在特定的操作系统上可用, 这些方法会被标记出来。
事件: ‘show’
返回:
event
Event
当通知向用户显示时触发, 请注意, 这可能会多次触发, 因为「通知」可以通过 show()
方法多次显示。
事件: ‘click’
返回:
event
Event
在用户单击通知时触发。
事件: ‘close’
返回:
event
Event
当用户手动关闭通知时触发
当通知关闭后,这个事件不能保证在所有情况下都会触发。
事件: ‘reply’ macOS
返回:
event
Eventreply
String-用户在内联答复字段中输入的字符串.
当用户单击 hasReply: true
的通知上的 “Reply” 按钮时触发。
事件: ‘action’ macOS
返回:
event
Eventindex
Number - 已激活的操作的索引.
Event: ‘failed’ Windows
返回:
event
Eventerror
String - 执行show()
方法时遇到的错误
在创建和显示本地通知时发生错误时触发异常。
实例方法
用new Notification
创建的对象有以下实例方法:
notification.show()
即时向用户展示 notification ,请注意这意味着与HTML5的 Notification 的实现不同,实例化一个new Notification
不会立刻向用户展示, 你需要在系统将要显示它之前调用这个方法
如果以前已显示通知, 则此方法将忽略以前显示的通知,并创建具有相同属性的新通知
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
通过windows的 toastXML 自定义通知
播放声音
在 macOS 上, 您可以指定在显示通知时要播放的声音的名称。 除了自定义声音文件之外, 还可以使用任何默认声音 (系统首选项 > 声音)。 请确保声音文件是在应用程序包(例如, YourApp.app/Contents/Resources
) 内存在副本, 或者是下列位置之一:
~/Library/Sounds
/Library/Sounds
/Network/Library/Sounds
/System/Library/Sounds
有关详细信息, 请参见 NSSound 文档。