tiempo studio real para notificationcompat notification notificaciones notificacion mensaje crear con basica app android xml notifications

studio - notification builder android



El diseƱo XML de la notificaciĆ³n personalizada de Android 5+ con RemoteViews, establece el tinte de icono correcto para ImageButton (5)

Lo sentimos, pero según mi conocimiento, las ROM personalizadas tienen diseños de sistemas y configuraciones independientes y no son oficiales también.

Por lo tanto, no es posible admitir Custom ROM sin conocer su diseño. Y las API de Android son para soportar ROM''s oficiales.

¡¡Espero eso ayude!!

Mi aplicación está utilizando un diseño de notificación personalizado con RemoteViews.

Para mostrar texto, el diseño utiliza los siguientes estilos de sistema:

android:TextAppearance.Material.Notification.Title android:TextAppearance.Material.Notification

Esto funciona bien.

Sin embargo, el estilo TextAppearance no se puede usar para establecer el valor de android:tint , por lo que tuve que codificar el color.

Que yo sepa, no hay un estilo de sistema especial para configurar el tinte ImageButton de notificación.

Los colores codificados funcionan bien en los sistemas Android 5+ actuales, pero algunos usuarios instalan ROM personalizadas con temas oscuros personalizados, y la notificación parece incorrecta, es decir, iconos negros sobre fondo negro.

¿Hay alguna forma de obtener el icono de notificación del sistema / color del botón de imagen y aplicarlo desde un diseño XML?

O tal vez hay otra manera de lograr esto?


Prueba este ejemplo:

Definición de notificación:

// Declare variable public static Bitmap icon; // Assign value but this line can be different depends on current // android sdk vesion ... icon = BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.YOUR_IMAGE); mBuilder = new NotificationCompat.Builder(this); mBuilder.setShowWhen(false); mBuilder.setDefaults(Notification.DEFAULT_ALL); mBuilder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC); mBuilder.setSmallIcon(R.drawable.image1); // One way to load img mBuilder.setContentText("this text not visible"); mBuilder.setLargeIcon(icon);// This is the line mBuilder.setPriority(Notification.PRIORITY_DEFAULT); mBuilder.setContent(contentNotifySmall); // ORI //mBuilder.setAutoCancel(false); mBuilder.setCustomBigContentView(contentNotify);

Configuré la variante pequeña y grande para cualquier caso, esto es importante.


Puede utilizar un servicio de lista de notificationlistenerservice para obtener una notificación activa. Esto devuelve una lista de StatusBarNotifications, entonces solo:

StatusBarNotifcation sBNotification = activeNotifications[0]; Notification notification = sBNotification.getNotification(); int argbColor = notification.color;


Si cambia ImageButton a ImageView en su diseño, puede actualizarlo con

RemoteViews remoteView = getRemoteViews(context); // load base icon from res Bitmap baseIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.base_icon); // edit Bitmap baseIcon any way for your choose Bitmap editedBitmap = ... // update notification view with edited Bitmap remoteView.setImageViewBitmap(R.id.button_icon, edited);

PS puedes editar Bitmap de esta manera: https://.com/a/5935686/7630175 o de cualquier otra forma

Espero que sea de ayuda


para el fondo puedes probar estos atributos ...

app:backgroundTint="@color/pay"

---------O-------------

android:tint="@color/white"