Android推送通知图标点亮主题问题

时间:2018-07-04 09:04:49

标签: android push-notification

我知道这个问题被问了很多与推送通知状态栏图标有关的问题,但是我的问题有点不同。

我正在使用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)浅色主题(此处为白旗图标)

enter image description here 这是屏幕截图:-

enter image description here

2)黑暗主题:-

enter image description here

1 个答案:

答案 0 :(得分:0)

经过所有搜索和其他发现,我找到了解决方案,所有操作均正常进行,并期望通知图标,该图标保留了不同颜色的小像素。

我们可以从以下链接创建通知图标,这使我们的图标对于通知而言是透明的

  

https://romannurik.github.io/AndroidAssetStudio/icons-notification.html#source.type=clipart&source.clipart=ac_unit&source.space.trim=1&source.space.pad=0&name=ic_stat_ac_unit