No se puede usar amarillo con el pequeño icono de Notificación de Nougat de Android
Tengo un problema al configurar el icono de notificación pequeño como amarillo en Android 7.x
Estoy usando notification.setColor(Color.YELLOW);
Mientras construye el objeto de notificación. Muestra que el color de la aceituna (ish) en vez del amarillo.
- Kivy: icono de notificación de multiplataforma
- Con varias notificaciones, la segunda notificación aparece en modo de colapso.
- Android Service.startForeground NO respeta la id unicidad de notificación
- Notificación de Android - java.lang.Throwable: volcado de pila
- ¿Cómo eliminar todas las notificaciones cuando se cancela una aplicación de Android (actividad o servicio)?
También intentó usar notification.setColor(Color.argb(255,255,255,0));
Pero no hay suerte, muestra el mismo color de la aceituna (ish).
Así es como se ve en Android 7.x
Así es como se ve en Android 6.x, que es el color correcto
Ambas imágenes muestran la misma notificación con la misma base de código, pero utilizando diferentes dispositivos Android.
Estoy utilizando PushWoosh para enviar / recibir notificaciones push, a continuación se muestra el código exacto que estoy usando para crear el objeto de notificación.
public class NotificationFactory extends AbsNotificationFactory { @Override public Notification onGenerateNotification(PushData pushData) { PushwooshUserdata pushwooshUserdata = GsonUtil.fromJson(pushData.getExtras().getString("u"), PushwooshUserdata.class); //create notification builder NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getContext()); notificationBuilder.setContentTitle("Header"); notificationBuilder.setContentText("Message"); //set small icon (usually app icon) notificationBuilder.setSmallIcon(R.drawable.notification_icon); notificationBuilder.setColor(Color.argb(255,255,255,0)); //set ticket text notificationBuilder.setTicker(getContentFromHtml(pushData.getTicker())); //display notification now notificationBuilder.setWhen(System.currentTimeMillis()); //build the notification final Notification notification = notificationBuilder.build(); //add sound addSound(notification, pushData.getSound()); //add vibration addVibration(notification, pushData.getVibration()); //make it cancelable addCancel(notification); //all done! return notification; } @Override public void onPushReceived(PushData pushData) { } @Override public void onPushHandle(Activity activity) { } }
- ¿Cómo crear notificaciones emergentes como la notificación utilizada en whatsapp para android?
- NotificationListenerService: NullPointerException en getActiveNotifications
- ¿Cómo agregar el icono de la aplicación en la bandeja de notificación?
- ¿Cómo puedo activar las vibraciones y las luces con la API de notificaciones de Android?
- Icono que no se muestra en la notificación: se muestra un cuadrado blanco en su lugar
- Cómo enviar la notificación del fcm al dispositivo múltiple en el reqest único del fcm
- El sonido de notificación no funciona para api 10 android
- Obtener datos de la notificación de GCM
Android garantiza una relación de contraste mínima entre el color de primer plano y el color de fondo.
Con el amarillo (# ffff35) primer plano y un fondo blanco, la relación de contraste es sólo 1,07: 1.
El primer plano de oliva (# 717d13) tiene la relación de contraste mínima de 4.5: 1.
Este es el parche relevante en la fuente de Android: https://android.googlesource.com/platform/frameworks/base.git/+/4ff3b120ff8a788e3afeb266d18caf072f0b8ffb%5E%21/
Calculé las razones de contraste anteriores usando http://webaim.org/resources/contrastchecker/ .
Trate de asegurarse de que los controles de la interfaz de usuario en una notificación también están disponibles en una actividad de su aplicación y siempre debe iniciar esa actividad cuando los usuarios hacen clic en la notificación. Para ello, utilice el método setContentIntent () .
Si has definido el color en colors.xml y luego en tu NotificationBuilder agrega valor como .setColor(getResources().getColor(R.color.<YOUR_COLOR>))
Fuente: NotificationCompat.Builder#setColor(int)
- Cómo volver a crear el archivo del almacén de claves si se eliminó accidentalmente
- Las preferencias de cuenta se bloquean en ListPreference