[英]Flutter local notifications not showing icon on Android Oreo
我使用flutter_local_notifications制作了一个带有通知的应用程序,它在 Android Kitkat 上运行良好。 但是,在 Android Oreo 上,它不显示图标。 它只是显示了一个彩色的灰色框图标。
这是我初始化通知将用于显示的图标的代码行:
var initializationSettingsAndroid = new AndroidInitializationSettings('@mipmap/ic_launcher');
我可以确认我的可绘制资源中存在不同密度的所有图标。
但我不明白为什么它不显示在 Android Oreo 上。
我将不胜感激任何形式的帮助。 谢谢。
此行为存在一个未解决的错误。 作为一种解决方法,您可以在此处遵循解决方案。
你需要:
- 在透明背景上创建仅使用白色像素的资产。 重要的是不要使用白色以外的任何颜色。
- 您的资产必须称为
ic_notification.png
- 您的资产必须放在
mipmap-*
目录中,而不是drawable-*
(如@wuppious 所述)。您的资产尺寸(以像素为单位):
mipmap-mdpi
- 24x24
mipmap-hdpi
- 36x36
mipmap-xhdpi
- 48x48
mipmap-xxhdpi
- 72x72mipmap-xxxhdpi
- 96x96
另请查看此 SO 帖子以获取更多信息。
NotificationDetails(
android: AndroidNotificationDetails(
channel.id,
channel.name,
channelDescription: channel.description,
icon: '@mipmap/ic_notification_no_bg',
styleInformation: BigTextStyleInformation(''),
),
));
您需要在 AndroidNotificationDetails 中提供一个没有任何背景的图标,以便应用程序将为Android 版本 11选择此图标对于其他版本,它将选择默认启动器图标
请去掉背景那个图标,Android系统只接收一个透明图标。
检查此以获取更多信息: 删除 bg
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.