it-swarm.com.de

Kann ich das Standard-Push-Benachrichtigungssymbol in Android vom App-Symbol zum benutzerdefinierten Symbol überschreiben?

Kann ich das Standard-Push-Benachrichtigungssymbol in Android vom App-Symbol zum benutzerdefinierten Symbol überschreiben?

Ich verwende eine standardmäßige Firebase-Implementierung, um eine Benachrichtigung in der Taskleiste anzuzeigen, wenn eine Push-Benachrichtigung erscheint. Da mein App-Symbol farbig ist und einen Farbverlauf aufweist, hat Android bei einer Benachrichtigung versucht, eine schwarz/weiße Version davon zu erstellen und sie wie einen weißen Kreis aussehen zu lassen. 

Gibt es eine Möglichkeit, das Standard-Benachrichtigungssymbol anstelle des Standard-App-Symbols auf ein anderes zu aktualisieren?

PS: Ich freue mich auf eine Lösung, die eine Konfigurationsänderung im Manifest erfordert und NotificationCompat.Builder nicht verwenden möchte

11
Shashank

sie können dies in Ihrem Manifest gemäß https://firebase.google.com/docs/cloud-messaging/Android/receive verwenden.

    <!-- Set custom default icon. This is used when no icon is set for incoming notification
    messages.See README(https://github.com/firebase/quickstart-Android/tree/master/messaging#custom-default-icon) for more. -->
    <meta-data
        Android:name="com.google.firebase.messaging.default_notification_icon"
        Android:resource="@drawable/ic_stat_ic_notification" />

    <!-- Set color used with incoming notification messages.
    This is used when no color is set for the incoming notification message. See README
    (https://github.com/firebase/quickstart-Android/tree/master/messaging#custom-default-color) for more. -->
    <meta-data
        Android:name="com.google.firebase.messaging.default_notification_color"
        Android:resource="@color/colorAccent" />

Hoffe, es hilft den Menschen.

22
elsennov

Sie können einstellen 

  .setSmallIcon(int);
  .setLargeIcon(bitmap);

Ein kleines Symbol, gesetzt von setSmallIcon ()

NotificationCompat.Builder setLargeIcon (Bitmap icon)

Legen Sie das große Symbol fest, das im Ticker und in der Benachrichtigung angezeigt wird.

in NotificationCompat.Builder.

Dokumentation - https://developer.Android.com/reference/Android/support/v4/app/NotificationCompat.Builder.html

2
kalpana c

Builder-Klasse für Notification-Objekte. Bietet eine bequeme Methode zum Festlegen der verschiedenen Felder einer Benachrichtigung und zum Generieren von Inhaltsansichten mithilfe der Benachrichtigungslayoutvorlage der Plattform. Offizielle Dokumentation überprüfen hier

 Notification noti = new Notification.Builder(mContext)
     .setContentTitle("New mail from " + sender.toString())
     .setContentText(subject)
     .setSmallIcon(R.drawable.new_mail)
     .setLargeIcon(aBitmap)
     .build();

Hier können Sie benutzerdefinierte Felder einschließlich Symbol für Ihre Benachrichtigungen festlegen.

Prost! Glückliche Kodierung

0
Salman Nazir

Ja, Sie können es tun. Wenn Sie ein weißes Kreissymbol vermeiden möchten, müssen Sie Ihr -Symbol transparent machen und Hintergrundfarbe hinzufügen. So erscheint die von Ihnen verwendete Farbe durch das transparente Symbol und macht das Symbol sichtbar und bunt. Bitte überprüfen Sie im folgenden Beispielcode nach setSmallIcon und setColor. Überprüfen Sie dieses Dokument und suchen Sie nach transparent

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
                context)
                .setContentIntent(contentIntent)
                .setSmallIcon(R.drawable.transaparentIcon)
                .setColor(context.getResources().getColor(R.color.notif_color))
                .setWhen(System.currentTimeMillis())
                .setContentTitle(context.getString(R.string.app_name))
                .setStyle(
                        new NotificationCompat.BigTextStyle()
                                .bigText(notificationText))
                .setContentText(notificationText)
                .setAutoCancel(true);
0
Anup Dasari
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                .setSmallIcon(R.mipmap.custom_icon)
                .setContentTitle("FCM Message")
                .setContentText(messageBody)
                .setAutoCancel(true)
                .setSound(defaultSoundUri)
                .setContentIntent(pendingIntent);
0
Muhammad Younas

Das kannst du so machen:

int icon=R.drwable.icon; //Add your icon name here
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setSmallIcon(icon);
0
Dhruv