通知
创建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
文档。