【问题标题】:When app is in Background FCM showing white square icon当应用程序处于后台 FCM 显示白色方形图标时
【发布时间】:2017-06-09 07:04:44
【问题描述】:

我已经实现了 Fcm 推送通知,消息接收成功,但问题是当应用程序在后台时,如果我收到通知无法获取应用程序图标,它会显示为白色方块

我尝试了下面的代码,因为应用程序在后台,它从菜单中获取图标

<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/logo" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/placeholder_grey_20" />

还观察到将 targetSdkVersion 23 更改为 targetSdkVersion 19 效果很好,但问题是当更改 targetSdkVersion 19 时,我没有得到棉花糖运行时权限对话

需要帮助 请注意,当应用处于后台时会出现问题

【问题讨论】:

标签: android push-notification


【解决方案1】:

这个问题基本上是两个问题的结合:

1) 对于上述设备的棒棒糖,您必须设置剪影图标,为此请检查此答案 Link to set notification icon on lollipop and above devices

2) 当您使用 FCM 时,只有当您的应用程序处于前台时,通知消息才会传递到您的 onMessageReceived 回调(很可能您会在 onMessageReceived 中收到推送消息后将通知设置为向用户显示),如果它不是(所以它在后台,或者完全关闭),FCM 处理为你显示通知并且 onMessageReceived 没有被调用,所以即使在处理棒棒糖及以上设备的剪影图标条件后,通知图标也没有显示,因为你的代码没有得到在这种情况下调用。

所以,最后,要解决这个 FCM 问题,请将这段代码添加到清单文件中。

<meta-data
    android:name="com.google.firebase.messaging.default_notification_icon"
    android:resource="@drawable/ic_notification_icon"/>
<meta-data
    android:name="com.google.firebase.messaging.default_notification_color"
    android:resource="@color/color_of_your_desire"/>

【讨论】:

    猜你喜欢
    • 2017-03-30
    • 2017-06-25
    • 2019-06-17
    • 2019-02-25
    • 2022-12-22
    • 2017-08-11
    • 2018-01-12
    • 2018-07-31
    • 1970-01-01
    相关资源
    最近更新 更多