我知道这个问题被问了很多与推送通知状态栏图标有关的问题,但是我的问题有点不同。
我正在使用FCM推送通知,我的通知正常发送。我已经为棒棒糖之前以及之后的棒棒糖版本设置了通知图标。我的通知图标在深色主题设备(如MOTO-G 5+)中正确显示,但是当我在浅色主题设备(如Samsung Galaxy Edge 7.0)上检查相同的通知时,我的通知图标根据应用程序主题变为白色,但在另一个应用程序中,通知图标显示正常。我看到了很多示例解决方案,但是它们并没有解决我的问题。
我正在使用以下代码:
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ila_app_icon);
long when = System.currentTimeMillis();
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this);
notificationBuilder.setContentText(message)
.setContentIntent(pendingIntent)
// .setColor(getNotificationColor())
.setSmallIcon(getNotificationIcon(notificationBuilder))
.setWhen(when)
.setSound(defaultSoundUri)
.setLargeIcon(bitmap);
Random random = new Random();
int uniqueIntegerNumber = random.nextInt(9999 - 1000) + 1000;
notificationManager.notify(uniqueIntegerNumber, notificationBuilder.build());
获取通知图标的方法:-
private int getNotificationIcon(NotificationCompat.Builder notificationBuilder) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
int color = 0x008000;
notificationBuilder.setColor(color);
return R.drawable.notification_white;
}
return R.drawable.ila_app_icon;
}
我也尝试了 setColor 属性,但这也不起作用。
1)浅色主题(此处为白旗图标)
2)黑暗主题:-
答案 0 :(得分:0)
经过所有搜索和其他发现,我找到了解决方案,所有操作均正常进行,并期望通知图标,该图标保留了不同颜色的小像素。
我们可以从以下链接创建通知图标,这使我们的图标对于通知而言是透明的