[英]Electron (main) notification API 'on.click' event not always working
我对Electron 通知 API有疑问。 我总是收到通知,但通知上的点击事件经常没有执行。 有时点击事件只会执行前 2 次,有时只执行第十次,有时根本不执行。
有问题的视频文件: VIDEO
有我的代码:
function showNotification () {
const notificationOptions = {
title: 'SysInfoGrabber',
body: 'Raport PDF został utworzony na pulpicie w folderze "Raporty"',
icon: path.join(__dirname, 'files/icon.png')
}
const reportNotification = new Notification(notificationOptions);
reportNotification.on('show', () => {
console.log('Notification is shown');
});
reportNotification.on('click', () => {
console.log("Notification clicked");
});
reportNotification.show();
}
mainFunction(){
[...CODE...]
// Show notify
showNotification();
}
#npm i 节点通知程序#
const notifier = require('node-notifier');
notifier.notify({
appID: 'myApp',
title: ' ',
message: 'myMesaage',
wait: true
}, function (err, response) {
if (response !== 'timeout'){
console.log("Notification clicked");
}
});
这个问题你正在运行到可能是通过不断的造成的事实reportNotification
在内侧局部声明showNotification()
函数,该函数退出后会得到垃圾收集一段时间,和与它相连的事件处理程序荣获”不能再用了。
尝试将reportNotification
全局声明为任何其他函数之外的变量(使用let
)。
let reportNotification;
function showNotification () {
const notificationOptions = {
title: 'SysInfoGrabber',
body: 'Raport PDF został utworzony na pulpicie w folderze "Raporty"',
icon: path.join(__dirname, 'files/icon.png')
}
reportNotification = new Notification(notificationOptions);
reportNotification.on('show', () => {
console.log('Notification is shown');
});
reportNotification.on('click', () => {
console.log("Notification clicked");
});
reportNotification.show();
}
mainFunction(){
[...CODE...]
// Show notify
showNotification();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.