当前位置: 首页 > 知识库问答 >
问题:

Firebase通知为灰色颤振

公孙弘深
2023-03-14

我正在使用Firebase云消息向我的Flitter应用程序发送通知。它工作正常,但我的应用程序图标通知是灰色的谷歌像素XL。我能看到轮廓,但由于某种原因,它仍然是灰色的。我在不同的文章中读到,它与Android SDK级别有关,但Flitter中的Minsdk版本已经是16(少于21),所以我不明白为什么颜色不会显示在屏幕上。

那么,是否可以用这种颜色显示我的应用程序图标作为通知?

--提前感谢

共有3个答案

葛学民
2023-03-14

我做到了以下几点,这对我很有用:

  1. 创建一个透明的白色通知图标(您可以使用以下工具:AndroidAssetStudio)

下载zip文件夹,解压,你会看到它包含一个res文件夹和不同的可绘制文件夹。在“android\app\src\main\res”路径中复制并粘贴res文件夹的内容

然后打开AndroidManifest。xml文件,并向其中添加以下行:

ic_stat_calendar_today是我通知图标的名称。每个已粘贴的可绘制文件夹都包含具有相同名称的不同大小的图标

如果要更改图标的颜色,请查看上图。在通知图标标记之后添加元数据标记

转到“android\app\src\main\res\values”并添加颜色。xml文件

<color name="colorAccent">#00FF00</color>

我在下面的Github链中也分享了这个答案-解决方案。

欧金鹏
2023-03-14

我知道这个问题是关于Firebase通知的,但是因为在搜索本地通知时出现了灰色图标错误,所以这篇文章来了。。。因此,我终于找到了解决方案(在我的例子中,图标在调试模式下工作正常,但在构建apk时,图标会变成灰盒)

解决方案:-在Android/app/src/main/res中创建一个名为raw的新目录,并在该目录中添加一个名为keep的文件。xml和复制粘贴以下内容:-

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
    tools:keep="@drawable/*" />
蔡修远
2023-03-14

您可以在这里阅读:

自定义默认通知

自定义默认图标

如果通知负载中没有设置图标,设置自定义默认图标可以指定用于通知消息的图标。还可以使用自定义默认图标设置从Firebase控制台发送的通知消息所使用的图标。如果没有设置自定义默认图标,并且通知负载中没有设置图标,则使用应用程序图标(以白色呈现)。

自定义默认颜色

您还可以定义通知使用的颜色。不同的android版本以不同的方式使用此设置:android

试着把它放在你的AndroidManifest中。xml

<!-- Set custom default icon. This is used when no icon is set for incoming notification messages. -->
<meta-data
    android:name="com.google.firebase.messaging.default_notification_icon"
    android:resource="@drawable/ic_stat_ic_notification" />
<!-- Set color used with incoming notification messages. This is used when no color is set for the incoming notification message.  -->
<meta-data
    android:name="com.google.firebase.messaging.default_notification_color"
    android:resource="@color/colorAccent" />

你可以在这里找到更多信息。

你还需要定义你的颜色口音。您可以在res文件夹中创建一个colors.xml文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorAccent">#E91E63</color>
</resources>

在此文件夹中:/android/app/src/main/res/values

此外,图标必须在可绘制的文件夹中。

但请记住,此图标必须是透明背景的白色。

对于要着色的某些类型的图标,您需要在某些设备上设置元标签,您已经在yuor中添加了Androidanifest.xml,并且您的图标必须遵循某些规范(必须是透明背景中的白色)。您可以尝试在这里生成一个。给它一个尝试。请记住将其放在可绘制文件夹中,并更新清单元标记图标名称。

也阅读这个SO问题,它加强了我在这里所说的。

我已经在运行API级别27的Pixel 2模拟器上进行了尝试:

希望能有帮助。

 类似资料:
  • 我正在使用Firebase云消息为Android做推送通知,一切都很顺利,但我在想系统托盘的图标颜色是怎么回事。它正在被变成一个灰度图像,而不是保持它原来的颜色。我可以用方法为它着色,但我希望图标不会失去它的颜色,这可能吗?我已经尝试使用各种不同的图像,有自己的大小,透明/非透明,白色背景等,基于一些帖子,我可以找到。我似乎找不到关于这里实际发生的事情的答案。我的编译/目标sdk目前是26。我在模

  • 我正在使用firebase云功能向特定用户发送通知。这是我从函数发送的有效负载。 我正在使用firebase_messaging(flutter package:https://pub.dartlang.org/packages/firebase_messaging)接收通知,并且我已经编写了onMessage、onLaunch和onResume方法的代码。 因此,当我使用Admin SDK发送消

  • 在Android5上,我的通知栏上的应用图标变为白色。我在Android5Lollipop上看到这个通知栏图标变为白色,但我如何在我的codenameone应用上更改它。

  • 我想在登录时向特定用户发送通知,我使用Firebase消息,我可以通过控制台发送通知,但我想使用发送到主题和request以Swift代码发送此通知。当我在postman中运行代码时,我无法实现http请求以发送通知。我有以下错误: 请求缺少身份验证密钥(FCM令牌)。请参阅FCM文档的“认证”部分,网址为https://firebase.google.com/docs/cloud-messagi

  • 我使用firebase_消息和Flatter_local_通知包,目前我可以在应用程序处于后台时,在用户点击通知时获取通知数据。当应用程序位于前台时,我如何收听点击事件。

  • 灰色按钮 有两种情况:通过代码和控件属性 VB语言: 代码:ctrl+b查找 816C24,在JMP下断,然后F2运行程序,把 push ebp 改为 retn,或者把这些代码全NOP掉 控件属性:VBExplorer 辅Z工具改属性 Delphi/BC++语言: 代码:通过DEDE找FormCreate,记下地址,改 retn 控件属性:相关辅Z工具改属性 易语言: 代码:bp EnableWi