在Lollipop版本以上如何设置通知中的小图标

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))

但是使用它只能设置一种唯一的颜色。

我的目标不是这样。我想像Domino那样以其原始颜色设置我的图标。

在Android清单中添加以下代码:

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

当我收到推送通知时,我会启动服务来显示通知,代码如下:startService(new Intent(this,NotificationService.class));
但是我得到的通知图标是灰色的,不是原来的颜色。我在很多网站和堆栈问题中搜索了很多,但是关于这个问题的答案是放置通知图标的Android清单中的代码,就像我上面提到的那样。尽管我遵循了答案,但无法像dominos一样设置通知图标。我找不到哪里出错了。浏览了大部分已发布的堆栈问题,但是没有找到适合我的问题的答案。 enter image description here 请有人帮帮我...
以下是我得到的通知。

enter image description here

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

这没有解决方案吗??没有人实现过吗?


你能分享一下上面代码的输出截图吗? - Srinivasan M
@SrinivasanM 我已经添加了我的屏幕截图。 - Kousalya
1个回答

0

已经看到了,但我想设置两种不同的颜色。在我的图标中,需要为小时和分钟设置不同的颜色。 - Kousalya
@Kousalya,你解决了这个问题吗? - Sethuraman Srinivasan
1
@SethuramanSrinivasan 不好意思,我没能实现小图标的多颜色,所以我只使用了一种颜色。 - Kousalya
@Kousalya 我也被卡在这个问题上了。 - user3066829
1
@user3066829 我找不到解决这个问题的方法。相反,我使用了一个单色的图标。 - Kousalya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接