我使用flutter_local_notifications制作了一个带有通知的应用程序,它在Android Kitkat上运行良好。但是,在Android Oreo上,它不显示该图标。它只是显示了一个彩色的灰色框图标。
这是我初始化图标的代码行,通知将使用该图标来显示:
var initializationSettingsAndroid = new AndroidInitializationSettings('@mipmap/ic_launcher');
我可以确认我的可绘制资源中存在不同密度的所有图标。
但是我不知道为什么它没有显示在Android Oreo上。
我将不胜感激任何形式的帮助。谢谢。
有一个针对此行为提交的未解决的错误。作为解决方法,您可以遵循此处的解决方案。
您需要:
- 在透明背景上创建仅使用白色像素的资产。重要的是不要使用白色以外的任何颜色。
- 您的资产必须称为
ic_notification.png
- 您的资产必须放置在
mipmap-*
目录中,而不是drawable-*
(如@wuppious所述(。您的素材资源尺寸(以像素为单位(:
mipmap-mdpi
- 24x24mipmap-hdpi
- 36x36mipmap-xhdpi
- 48x48mipmap-xxhdpi
- 72x72mipmap-xxxhdpi
- 96x96
另请查看此SO帖子以获取更多信息。
请删除该图标的背景,Android系统仅接收一个透明图标。
查看此内容以获取更多信息: 删除 BG
如果要手动发送通知,请在请求中也放置图标名称。
例如
{
"to" : "*****",
"notification": {
"icon": "ic_notification",
"priority": "max",
"body" : "Example Body Message",
"title": "Example Title"
}
}
信用:https://github.com/zo0r/react-native-push-notification/issues/730#issuecomment-431786902