2017-10-04 1 views
1

Nous avons des notifications dans notre application depuis longtemps, qui fonctionnent bien. J'ai une petite icône .png multicolore que nous utilisons pour eux, qui a bien fonctionné dans le passé.Pourquoi l'icône de notification n'apparaît-elle pas correctement dans Oreo?

En Oreo, l'icône ne s'affiche pas correctement, il s'agit simplement d'un carré gris. En regardant le tiroir sur l'appareil, il semble que le système, gmail, etc ont tous des icônes en une seule couleur, donc je soupçonne que cela a quelque chose à voir avec ça.

Cependant, je ne peux pas trouver toute la documentation, les lignes directrices de conception ou tout ce qui le confirment, donc je suis se rendre à une question ici ...

Comment puis-je faire mon affichage de l'icône comme normale dans Oreo? Qu'est-ce que je rate?

Voici comment je crée l'icône, de ce que je peux voir dans la documentation, il devrait fonctionner, et cela fonctionne pré-Oreo:

NotificationCompat.Builder builder = new NotificationCompat.Builder(context); 

builder.setAutoCancel(true).setContentTitle("Title").setWhen(when) 
.setContentText(message).setDefaults(Notification.DEFAULT_ALL) 
.setSmallIcon("icon.png").setContentIntent(contentIntent); 

getNotificationManager(context).notify(NOTIFICATION_ID, builder.build()); 
+0

Seul le canal alpha de l'icône est utilisé (et pas seulement depuis Oreo). Assurez-vous donc que votre icône possède un canal alpha significatif. – Henry

Répondre