8

Ich verwende FCM in meiner Android-App, um Push-Benachrichtigung zu verwalten. Es funktioniert vollständig, wenn die App im Vordergrund ist und das App-Symbol ebenfalls sichtbar ist (richtig). Aber wenn die App im Hintergrund läuft, bekomme ich die Benachrichtigung nicht richtig. Anstelle des transparenten Symbols wird das weiße Quadrat als Benachrichtigungssymbol angezeigt. Ich weiß, dass FCM automatisch die Hintergrundoperation behandelt. Aber ich muss mein App-Symbol anstelle dieses weißen Symbols zeigen. Hinweis: Ich verwende nur ein transparentes Symbol. Ich habe auch versucht die folgenden CodierungFCM Push-Benachrichtigung mit weißem Quadrat Symbol anstelle von App-Symbol, wenn App im Hintergrund ist

<meta-data 
     android:name="com.google.firebase.messaging.default_notification_icon" 
     android:resource="@drawable/rt_transparent_icon" /> 
    <meta-data android:name="com.google.firebase.messaging.default_notification_color" 
     android:resource="@android:color/holo_blue_bright" /> 

Aber keine der Lösungen für mich tatsächlich gearbeitet. Kann mir jemand sagen, was ich tun soll?

+0

U könnte auf 5.0 oder höher testen .. richtig? Wenn ja dann ceck dies aus http://stackoverflow.com/questions/28387602/notification-bar-icon-turns-white-in-android-5-lollipop –

+0

Danke für die Antwort. Ich habe diese Lösung versucht, aber es funktioniert nicht für mich. – IndependentDev

+0

mein Vergnügen :) versuchen Sie dies und sagen Sie mir, was passiert notification.setLargeIcon (BitmapFactory.decodeResource (context.getResources(), R.drawable.ic_app_sky)); –

Antwort

0

stand ich dieses Problem vor und löste es wie folgt aus:

private int getNotificationIcon() { 
    boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.LOLLIPOP); 
    // LOLLIPOP or Marshmellew>>>>>>>>>>>>>>>>>>>>> KitKat or Less 
    return useWhiteIcon ? R.drawable.logo_new : R.drawable.logo; 
} 

und rufen Sie diese Funktion in setSmallIcon()

nbuilder.setSmallIcon(getNotificationIcon()); 
+0

Danke für die Antwort, aber diese Lösung funktioniert nicht für mich. Irgendeine andere Wahl? – IndependentDev

1
{ 
"to" : "token", 
    "notification": {"body": "Body", 
"title": "Title", 
"click_action": "com.sample.test.OPEN_ACTIVITY", 
     "icon" : "ic_launcher" 
}, 
"data": { 
    "image": "https://ibin.co/2t1lLdpfS06F.png", 
    "message": "Firebase Push Message Using API" 

    } 
} 

Also, wenn der Name "Symbol" ist die gleiche Wenn Ihr Dateiname in der App als Zeichnungsdatei angezeigt wird, sorgt FCM für das Ergebnis, wenn sich Ihre App im Hintergrund befindet. Im Vordergrund ist Ihre eigene benutzerdefinierte Implementierung der Benachrichtigung, die funktioniert. Ich weiß nur, ob das das Problem gelöst hat.

+0

funktionierte für mich - aber ich würde gerne wissen, wie man das im App-Code macht und nicht auf den passenden Namen für die Icon-Datei verweist –

Verwandte Themen