2017-06-02 1 views
0

Depuis android Les icônes de notification Lollipop doivent être blanches. Pour avoir des notifications de couleur que j'ai pris une image de superposition & fond de réglage en vert:Les notifications initiales sont colorées puis les notifications whitebox?

Des notifications sont à venir en vert comme ci-dessous:

enter image description here

Mais après quelques notifications de temps viennent whitebox:

enter image description here

Qu'est-ce qui ne va pas ici?

code est comme ci-dessous:

Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
     NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 
       .setContentTitle(title) 
       .setContentText(messageBody) 
       .setAutoCancel(true) 
       .setSound(defaultSoundUri) 
       .setContentIntent(pendingIntent); 

      notificationBuilder 
        .setSmallIcon(R.drawable.notify1) 
        .setColor(Color.GREEN);  

     NotificationManager notificationManager = 
       (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
     notificationManager.notify(SERVER_NOTIFICATION_ID, notificationBuilder.build()); 

L'image que je me sers est comme ci-dessous:

enter image description here

Répondre

2

Essayez cette ::

if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.LOLLIPOP) { 
     notificationBuilder 
       .setSmallIcon(R.drawable.notify1) 
       .setColor(Color.GREEN);  
    } else { 
     notificationBuilder 
       .setSmallIcon(R.drawable.notify1) 
       .setColor(Color.GREEN);  
    } 
+0

Quel est l'avantage ici à la fois si et sinon sont en train d'exécuter la même ligne de code? – pcj

+0

Selon les directives de conception Android, vous devez utiliser une silhouette, mais vous avez une icône en noir, c'est pourquoi vous devez le définir explicitement pour sucette et ci-dessus. – Jaymin