Android 使用Firebase通知的灰色正方形作为通知图标
我正在尝试将Firebase云消息集成到我的android应用程序中。但当应用程序处于后台或关闭时,Firebase通知会显示为灰色的方形图标,而不是我的应用程序的启动图标Android 使用Firebase通知的灰色正方形作为通知图标,android,firebase-cloud-messaging,Android,Firebase Cloud Messaging,我正在尝试将Firebase云消息集成到我的android应用程序中。但当应用程序处于后台或关闭时,Firebase通知会显示为灰色的方形图标,而不是我的应用程序的启动图标 在不实施Firebase server API和发送数据消息的情况下,我如何使通知图标成为我的应用程序徽标 这是firebase中的一个bug。如果您的应用程序位于前台,并且从Firebase控制台发送通知,您将获得灰色图标 解决方法是:通过API而不是控制台发送通知。从Firebase 9.8.0可以通过在清单中添加有关此
在不实施Firebase server API和发送数据消息的情况下,我如何使通知图标成为我的应用程序徽标 这是firebase中的一个bug。如果您的应用程序位于前台,并且从Firebase控制台发送通知,您将获得灰色图标
解决方法是:通过API而不是控制台发送通知。从Firebase 9.8.0可以通过在清单中添加有关此图标的信息来更改此图标:
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_stat_ic_notification" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/colorAccent" />
您可以在这里找到以下示例:
它与Firebase无关。从安卓3.0开始,状态图标被修改,“只是由透明背景上的白色像素组成,在适当的情况下,alpha混合用于平滑边缘和内部纹理”。据我所见,从Android 5.0开始,您必须提供这些全白色的小状态图标,否则会出现灰色的方形图标 这个问题的答案可以进一步解释,也可以说明如何强制你的应用程序使用原始的ic_启动器图标,尽管这对我来说不是个好主意,因为你是在强制它以旧的sdk为目标,同时也没有遵循材料设计准则 您真正应该做的是提供您可以在此处生成的白色小图标,将它们添加到您的项目中,然后配置FCM以使用它们,如接受的答案中所述
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_stat_ic_notification" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/colorAccent" />
在透明背景上的25x25像素图像中创建基础形状。注意安全框,保持上下两个像素的自由。将25x25处的图标导出为启用透明度的PNG文件。我使用了下面的解决方案,它在Flatter中对我有效:
特别感谢github上的“RumanaB”。通知图标源自您的启动器图标。请看一个简单的修复方法:尝试过,但仍然无法解决我的问题。(Moto G4+牛轧糖操作系统)应用程序被杀死/不在前台确实……我的目标不是Firebase 9.8.0。将库版本更新为9.8.0并使用元数据字段可更正此问题。任务“:app:processDebugResources”的执行失败。“>执行com.android.build.gradle.internal.tasks.Workers$ActionFacade>android资源链接失败D:\john\appname\android\app\src\main\AndroidManifest.xml:27:13-29:72:AAPT:error:resource drawable/ic\u stat\u ic\u notification(又名com.example.appname:drawable/ic\u stat\u ic\u notification)未找到。D:\john\appname\android\app\src\main\AndroidManifest.xml:30:13-32:57:AAPT:error:resource color/colorAccent(又名com.example.appname:color/colorAccent)找不到Hey@Kamlesh您知道如何在onesignal中实现这一点吗?不,亲爱的,我没有onesignal的经验。谢谢。@Kamlesh你的解决方案对我很有用。但我的图标有多种颜色,我们在传递一种颜色,我们如何传递图标的多种颜色。