无法更改从 Firebase 控制台发送的 Firebase 云消息通知的默认图标



所以我在我的Qt应用程序中集成了Firebase Cloud Messaging ,我正在尝试为通知设置一个自定义图标(默认情况下显示一个灰色的圆圈(。我知道这个问题在新的Firebase云消息传递系统的通知图标之前已经问过了。现在我已经遵循了帖子(和其他类似帖子(中的建议。在我的清单文件中,我添加了:

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

然后,我根据Google提供的自定义状态栏图标的规范创建了不同的图标(透明背景上的白色(。我的目标 SDK 设置为 26。尽管如此,通知始终显示默认图标,而不是我的自定义图标。我正在从 Firebase 控制台网站发送通知。我知道一些用户建议使用 API 发送通知,因为它似乎可以解决此问题,但是是否有可能避免这种情况并设法使用 Firebase 控制台取得成功?

好的,所以我找到了解决问题的方法。问题是我正在Android 8.0 Oreo上测试该应用程序。从此版本的 Android 开始,Google 要求应用程序使用通知通道,并且应用程序需要创建默认通知通道。因此,我在onCreate方法中将以下代码添加到应用程序的主要活动中:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// Create channel to show notifications.
String channelId  = getString(R.string.default_notification_channel_id);
String channelName = getString(R.string.default_notification_channel_name);
NotificationManager notificationManager =
getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(new NotificationChannel(channelId,
channelName, NotificationManager.IMPORTANCE_LOW));
}

然后在清单文件中添加了默认通知 ID:

<meta-data android:name="com.google.firebase.messaging.default_notification_channel_id" android:value="@string/default_notification_channel_id"/>

最新更新