Android 上的通知图标显示为白色方块

Posted

技术标签:

【中文标题】Android 上的通知图标显示为白色方块【英文标题】:Notification icon on Android shown as a white square 【发布时间】:2021-11-03 12:18:35 【问题描述】:

我在 Flutter 应用中使用 Firebase 云消息传递。

我正在使用 Firebase 控制台向我的应用发送推送通知。

我的问题是关于 android 上的通知图标。

我已经用 Android Asset Studio 创建了一个图标,如下:

然后我将下载的资源包含在它们各自的文件夹中,分别位于 android/app/main/res/mipmap。

在清单上我已经包含了所需的元数据代码:

<meta-data
    android:name="com.google.firebase.messaging.default_notification_icon"
    android:resource="@mipmap/ic_stat_logopush" />

但是在发送通知时,会显示一个白色方块。

我错过了什么或做错了什么?

编辑:

这是我当前的文件:

【问题讨论】:

这种情况会发生在每台设备上还是某些设备上? 尝试将它们放在drawable 目录中,而不是mimpap 目录中。 AFAIK,mimpap 仅适用于启动器图标。 @CommonsWare,让我试试你的建议 背景真的是透明的吗? Android 只会使用图标的轮廓。 你的图片好像不是完全透明的,你需要让背景透明。 【参考方案1】:

我认为您生成的图标大小错误。 我使用 android 资产工作室重新生成了它们,并且似乎在我的最后工作。 您可以使用此链接下载:

https://romannurik.github.io/AndroidAssetStudio/icons-notification.html#source.type=text&source.text.text=capenergy&source.space.trim=1&source.space.pad=0&name=ic_stat_capenergy

【讨论】:

感谢您的努力,我已经从 Android Asset Studio 下载了您建议的链接,将相应的可绘制文件夹复制到 res,并更改了 AndroidManifest 文件,包括: 但通知图标的结果相同 你的元数据标签在你的应用类标签里面吗? 使用此链接确认图像源是否已添加到正确的位置。 link 我知道你的方法是对的。我稍后会从头开始尝试。感谢您的时间和精力。【参考方案2】:

通知图标的背景应该是透明的 从 Android 5.0 Lollipop 通知图标必须全白。

【讨论】:

没有必要“必须”... Android 会将每个不完全透明的像素转换为纯白色(或深灰色,取决于状态栏的背景颜色),只有透明的像素会保持透明 【参考方案3】:

我认为您应该结帐this。我也有很多问题,所以我把这个答案保存到我的书签中;)

【讨论】:

谢谢@Tarik,我认为我的图标可以使用。但可能不是。我会将它添加到我的问题中以确保。 @TarikHuber:如果整个答案都在该链接中,请将问题标记为重复。

以上是关于Android 上的通知图标显示为白色方块的主要内容,如果未能解决你的问题,请参考以下文章

我的 android 通知图标是一个白色方块

通知中未显示图标:改为显示白色方块并使用 mipmap 启动器显示它

android通知图标显示为白色块

我的orange桌面 屏幕上显示的全是方块

Android mipmap 图标作为状态(通知)栏图标

当背景颜色为白色时,Android 通知图标颜色不会更改