Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当应用程序位于后台时,FCM显示白色方形图标_Android_Push Notification - Fatal编程技术网

Android 当应用程序位于后台时,FCM显示白色方形图标

Android 当应用程序位于后台时,FCM显示白色方形图标,android,push-notification,Android,Push Notification,我已经实现了Fcm推送通知,消息接收成功,但问题是,当应用程序在后台时,如果我收到通知无法获取应用程序图标,它将显示为白色方形 我尝试了下面的代码,因为应用程序在后台,它从menifest获取图标 <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/logo" /> <meta-data android:name

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

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

<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时,我没有获得棉花糖运行时许可对话

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

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

1) 对于上面的棒棒糖设备,您必须设置轮廓图标,为此检查此答案

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

最后,要解决这个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"/>

当应用程序位于后台时,我只有在获取图标时遇到问题