8

我已经创建了抬头通知。如下所示,

NotificationCompat.Builder notification = new NotificationCompat.Builder(this, channelId)
                .setContentTitle("Message")
                .setContentText("Recieved Successfully")
                .setContentIntent(pendingIntent)
                //.setColor(ContextCompat.getColor(this, R.color.green))
                .setSmallIcon(R.drawable.notification_icon)
                .setDefaults(Notification.DEFAULT_ALL)
                .setContentIntent(pendingIntent)
   .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
                .setAutoCancel(true)
                .setPriority(NotificationCompat.PRIORITY_HIGH);
        manager.notify(m,notification.build());

上面的代码放在一个名为 NotificationService 的类中,该类扩展了 Service。

我可以使用下面的代码设置颜色,

setColor(ContextCompat.getColor(this, R.color.colorAccent))

但是使用它只能设置一个独特的颜色。

**我的目标不是那样。我想将我的图标设置为其原始颜色,就像在 Dominos 中一样。

在 Android Manifest 中添加了以下代码,

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

当我收到推送通知时,我正在启动我的服务以显示如下通知, startService(new Intent(this,NotificationService.class));

但我收到灰色通知图标,而不是原始颜色。还搜索了很多网站和堆栈问题。但是关于这个问题的问题的答案是我上面提到的在 Android Manifest 中放置通知图标的代码。尽管我遵循了答案,但无法将通知图标设置为多米诺骨牌。我没能找到哪里出错了。搜索了大多数发布的堆栈问题。但无法为我的问题找到合适的答案。 在此处输入图像描述

任何人请帮助我...

以下是我收到的通知。

在此处输入图像描述

如您所见,我的通知图标由两个文本组成。而这两个包含两种不同的颜色。这就是我想要达到的目标。但我只得到灰色。设置颜色将为 h 和 m 设置一种唯一的颜色。我不想要那个。

这个没有解决办法??没有人做到这一点??

4

1 回答 1

0

在新的 Android SDK 中,我认为所有图标都变成了纯色。

查看这个问题,它在 Lollipop 的通知颜色中提供了一些解决方案。

Android 5 Lollipop 中的通知栏图标变为白色

于 2020-06-27T16:37:42.373 回答