Windows 10上的Electron桌面通知未显示

6
我的Electron应用在Windows 10上无法显示桌面通知,但在Mac和Linux上正常工作。
我使用electron-packager进行构建。
文档中指出:“在Windows 10上,必须将带有应用程序用户模型ID的应用程序快捷方式安装到“开始”菜单中。”因此,在main.js中调用app.setAppUserModelId(myID),并将.exe的快捷方式放置在C:\Users\sam\AppData\Roaming\Microsoft\Windows\Start Menu\Programs中。
仍然没有通知。我不确定哪一步做错了。

看起来通知和 Windows 10 存在一个未解决的问题(https://github.com/electron/electron/issues/10864)。您正在运行哪个版本的 Electron 和 Windows? - Neil P.
我正在运行电子版v2.0.8和1803 Windows企业版构建17134.285。 - sam opper
2个回答

6
我将使用electron-builder,它非常好用。 Electron多平台通知 我将这段代码上传到我的GitHub仓库。它可以在Windows、MacOS和Linux上运行。如果你想要在Windows上实现通知功能,需要运行“npm run dist”安装应用程序。它会创建一个名为“dist”的文件夹,你可以在其中找到安装程序。
这是重要的部分:
app.on('ready', () => {
  if (process.platform === 'win32') {
    app.setAppUserModelId("com.ikobit.desktop-notifications");
  }

  ...
});

2
完美。这里的关键是在 app.on('ready', func) 触发时需要调用 app.setAppUserModelId('com.yourcompany.yourapp')。找到这个真是太痛苦了!感谢提供可行的示例。 - naphier

0
问题是我在多个位置设置了应用程序ID。我还需要使用electron-builder进行安装,然后它就可以正常工作了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接