2016-05-04 9 views
5

Ich habe Android 6.0 aktualisiert und meine App habe ein Problem.Android-Benachrichtigungssymbol Farbe wird nicht geändert, wenn die Hintergrundfarbe weiß ist

Wenn die Hintergrundfarbe der Statusleiste nicht weiß ist, ist das Benachrichtigungssymbol gut. (Benachrichtigungssymbol png hat nur Weiß und Alpha)

Wenn jedoch einige Apps die Hintergrundfarbe in Weiß ändern, wird mein Benachrichtigungssymbol nicht in Schwarz invertiert.

Wie kann ich das weiße Benachrichtigungssymbol in schwarz umkehren, wenn die Hintergrundfarbe der Statusleiste von einer anderen App weiß gesetzt wird? (Ich sage nicht, wie kann ich Farbsymbol verwenden.)

unter Bild zeigt ein Problem.

normal status

when changed background color to white, my icon is not changed to black only

  • Mitteilung Build Code

    Notification.Builder mBuilder = 
         new Notification.Builder(context) 
           .setSmallIcon(R.drawable.ic_notifications_none) 
           .setPriority(priority2) 
           .setOngoing(true); 
    
    mBuilder.setContent(generateMessageView(message)); 
    
    Intent notificationIntent = new Intent(context, MainActivity.class); 
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP 
              | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    
    PendingIntent intent = PendingIntent.getActivity(context, 0, 
         notificationIntent, 0); 
    NotificationManager mNotificationManager = 
         (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
    mBuilder.setContentIntent(intent); 
    mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build()); 
    
  • Werte-v23/styles.xml

    <style name="AppTheme" parent="android:Theme.Material.NoActionBar">    
    </style> 
    

** eine Lösung gefunden **

I Benachrichtigungssymbole ziehbar Verzeichnis nicht drawable- hinzugefügt * dpi. Jetzt geht es.

+0

Check out diese [post] mit (http://stackoverflow.com/questions/28387602/notification-bar-icon-turns-white- In-Android-5-Lutscher). Lesen Sie auch diese [Dokumentation] (http://developer.android.com/reference/android/app/Notification.Builder.html#setColor%28int%29). Hoffentlich können Sie einen Hinweis bekommen. Prost ....:) – verbose

+0

@verbose Ich lese schon, werde aber nochmal nachschauen. danke –

+0

Ich habe Ihre Lösung versucht und es hat nicht funktioniert für mich. –

Antwort

0

Ich denke, das Problem liegt in Gerät Android 5.0 oder höher.

https://developer.android.com/design/patterns/notifications.html
https://developer.android.com/about/versions/android-5.0-changes.html

Hier ist eine Lösung:

Notification notification = new Notification.Builder(context) 
     .setAutoCancel(true) 
     .setContentTitle("My notification") 
     .setContentText("Look, white in Lollipop, else color!") 
     .setSmallIcon(getNotificationIcon()) 
     .build(); 

return notification; 

und Verfahren getNotificationIcon():

private int getNotificationIcon() { 
    boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP); 
    return useWhiteIcon ? R.drawable.icon_black : R.drawable.ic_nomarl; 
} 
+0

danke aber es funktioniert nicht. Ich fand LNotifications von Android-Probe und es hat kein schwarzes Symbolbild, sondern weiß zu schwarz (dunkelgrau), wenn andere App mit weißer Statusleiste ausgeführt wird. und ich habe keinen speziellen Code gefunden, der die Farbe von LNotifications ändert. –

2

Ich weiß, seine spät für andere zu beantworten, aber die das gleiche Problem haben ,

Ich hatte dieses Problem auch und ich fand, dass das Problem mit dem grafischen Symbol ist. Sie können das Problem mit diesem Online-Tool lösen. diesen Link öffnen:

https://romannurik.github.io/AndroidAssetStudio/icons-notification.html#source.type=image&source.space.trim=1&source.space.pad=0&name=ic_stat_call_white

dann Ihr Bild wählen (mit großer Dimension), dann die Ressource herunterladen und kopieren Sie sie in Ihrem Projekt.

setzen dann das Benachrichtigungssymbol .setSmallIcon(R.drawable.ICON_NEW_NAME)

Hoffnung diese Hilfe

+0

Danke, das hat mein Problem gelöst – Oblivionkey3

Verwandte Themen