应用程序徽标在其他任何地方都正确显示,但在通知部分显示空徽标
我知道您可以为通知添加自定义图像,并传递
icon
属性,如下所示:
new Notification({
title: 'Test Notification',
body: 'This is a test notification',
icon: path.join(__dirname, 'icon.ico'),
});
但这不是我想改变的标志。
应用程序构建后还会在其他地方显示正确的徽标:
在创建
icon
时,我还添加了 BrowserWindow
属性,如建议的 here。
const win = splashWindow = new BrowserWindow({
width: 320,
height: 320,
// more
icon: path.resolve(__dirname, 'icon.ico'),
});
添加
win.setIcon(path.resolve(__dirname, 'icon.ico');
也不起作用。
此代码全部在
main.js
中。
App
类的文档并且有一个getFileIcon
,但它似乎与此无关。
可能有关系?
我已经能够通过
setAppUserModelId
将应用程序名称修改为“Awesome App”,如下所示:
ipcMain.on('app-ready', () => {
if (process.platform === 'win32') {
// somehow also change logo here? can't find it in the docs
app.setAppUserModelId('Awesome app');
}
我在
app.setAppUserModelId('xxxx')
之前致电new Notification
并且有效。
xxxx 是您的捆绑包 ID。
令人困惑的部分是包 id 是什么,所以 bulde id 是 package.json 中的 appId
"build": {
"appId": "com.windshieldhub.TimeTracker",
"productName": "WindshieldHUB Time Tracker",
"win": {
"target": "nsis",
"icon": "public/assets/logo-icon.ico",
"publish": {
"provider": "github"
}
},
}
在 setAppUserModelId() 中添加 appId 将从该数组中获取产品名称和图标。
i have used below changes.
inside package.json --> add below. make sure to add "appId": "YOUR APP NAME"
"win": {
"target": "nsis",
"icon": "logo256.ico",
"appId": "YOUR APP NAME"
}
also make sure to add
app.on("ready", ev => {
if (process.platform == 'win32') {
app.setAppUserModelId('YOUR APP NAME');
}
}