Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Java Android – Redmi 3 (MIUI) – No se pueden cambiar los iconos de notificación?

Estoy tratando de cambiar los iconos de notificación y en el emulador está bien:

Introduzca aquí la descripción de la imagen

Introduzca aquí la descripción de la imagen

Introduzca aquí la descripción de la imagen

Introduzca aquí la descripción de la imagen

Esto es lo que quiero (probado en el emulador API nivel 22 (android 5.1.1)) PERO, cuando estoy corriendo esta APP en mi teléfono real (Xiaomi Redmi 3 prime con MIUI 8.0.1) también Android 5.1.1 – el Notificaciones se ve muy muy muy diferente. Estos iconos de notificación no se muestran (sólo un icono de aplicación predeterminada).

¿Pero por qué? ¿Qué puedo hacer ahora?

Aquí está mi código:

NotificationCompat.Builder b = new NotificationCompat.Builder(compat); b.setSmallIcon((state == STATE_STOPPED) ? R.drawable.ic_stat_remove : R.drawable.check); b.setContentText(content); b.setContentTitle(BASE_NOTIFICATION_TITLE); b.setOngoing(true); b.setAutoCancel(true); b.setColor((state == STATE_STOPPED) ? Color.RED : Color.rgb(22, 219, 28)); NotificationManager m = (NotificationManager) compat.getSystemService(NOTIFICATION_SERVICE); m.notify(0, b.build()); 

Sólo una notificación muy simple … alguien puede decirme, ¿qué pasa? ¿O simplemente MIUI apaga todos los iconos de notificación y lo establece en iconos de inicio de aplicación predeterminados?

¡Gracias!

EDIT: la notificación en mi teléfono se ve así …

Introduzca aquí la descripción de la imagen Introduzca aquí la descripción de la imagen

2 Solutions collect form web for “Java Android – Redmi 3 (MIUI) – No se pueden cambiar los iconos de notificación?”

Este es el comportamiento del sistema MIUI. No puede mostrar diferentes iconos en la notificación, por defecto toma icono de la aplicación como icono de notificación.

Tuve el mismo problema, pero Juan Pablo (en el comentario Java Android – Redmi 3 (MIUI) – Los iconos de notificación no se puede cambiar? ) Me dio una pista y ahora tengo una solución:

 //notification is an object of class android.app.Notification try { Class miuiNotificationClass = Class.forName("android.app.MiuiNotification"); Object miuiNotification = miuiNotificationClass.newInstance(); Field field = miuiNotification.getClass().getDeclaredField("customizedIcon"); field.setAccessible(true); field.set(miuiNotification, true); field = notification.getClass().getField("extraNotification"); field.setAccessible(true); field.set(notification, miuiNotification); } catch (Exception e) { } 

Ahora funciona como se espera.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.