oreo - como activar la barra de notificaciones en android
Cambiar el fondo del icono de notificación en Lollipop (3)
1) Obtener color
int color = 0xff123456;
int color = getResources().getColor(R.color.my_notif_color);
int color = ContextCompat.getColor(context, R.color.my_notif_color);
2) Establecer el color a la notificación
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
...
builder.setColor(color);
Notification notif = builder.build();
El color se respeta solo en Lollipop y solo afecta el fondo del icono pequeño . Si se muestra un ícono grande, su contenido es completamente su responsabilidad.
Estaba pasando por el patrón de diseño de Notificaciones , y no encontré nada que hablara sobre el fondo del icono de notificación. Como probablemente haya notado, solo hay un fondo gris claro para las notificaciones personalizadas. Pero las aplicaciones como Hangouts, o simplemente la notificación de depuración USB, tienen un color personalizado para el fondo del icono de notificación.
¿Hay alguna posibilidad de cambiar ese gris en otra cosa? (el color de ese círculo específico mediante programación)
si ha definido el color en colors.xml, en su NotificationBuilder agregue valor como
.setColor(getResources().getColor(R.color.<YOUR_COLOR>))
Eso debería resolver tu problema. Solo afecta al fondo del icono.
getColor(int)
ha quedado en desuso en
Resources
Ahora deberíamos usar una de estas alternativas: