繁体   English   中英

Flutter 本地通知未在 Android Oreo 上显示图标

[英]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 - 72x72 mipmap-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM