Значок уведомления не отображается с Android 9 - PullRequest
1 голос
/ 14 октября 2019

У меня проблема с уведомлением с android 9, значок уведомления не отображается с Android 9. У меня есть код ниже, чтобы показать значок с уведомлением.

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    notificationBuilder.setSmallIcon(R.drawable.ic_notify);
    /* Bitmap icon = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_notify);
    notificationBuilder.setLargeIcon(icon);*/
    notificationBuilder.setColor(getResources().getColor(R.color.colorWhite));
} else {
    notificationBuilder.setSmallIcon(R.drawable.ic_notify);
}

Ответы [ 2 ]

1 голос
/ 14 октября 2019

Наконец-то я нашел решение (С Android 9 )

Шаг 1: Ваше изображение будет белым с прозрачным фоном.

Шаг 2: Вы установили цвет фона в соответствии со значком вашего приложения.

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

           notificationBuilder.setSmallIcon(R.mipmap.ic_appoint);// this is the white image with transparent background
            notificationBuilder.setColor(getResources().getColor(R.color.colorGreen));
        } else {
            notificationBuilder.setSmallIcon(R.drawable.ic_notify); // this is normal image 
        }
0 голосов
/ 14 октября 2019
Implementation of `Notification Builder` for below and above Lollipop OS version would be:


NotificationCompat.Builder notificationBuilder = new 
NotificationCompat.Builder(this);

notificationBuilder.setSmallIcon(getNotificationIcon(notificationBuilder));

private int getNotificationIcon(NotificationCompat.Builder 
notificationBuilder) {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
         int color = 0x008000;
         notificationBuilder.setColor(color);
         return R.drawable.app_icon_lolipop_above;

 } 
 return R.drawable.app_icon_lolipop_below;
 }
...