8

我可以覆蓋android中從應用圖標到自定義圖標的默認推送通知圖標嗎?我可以覆蓋android中從應用圖標到自定義圖標的默認推送通知圖標嗎?

當推送通知到來時,我使用默認Firebase實現在系統托盤中顯示通知。由於我的應用程序圖標是彩色的並且具有漸變色,所以當通知出現時,android會嘗試製作黑白版本,並使其看起來像白色圓圈。

有沒有辦法將默認通知圖標更新爲其他內容而不是默認應用程序圖標?

PS:期待着這需要在清單中包含的配置變化而不想使用NotificationCompat.Builder

+0

您可以將'id'賦予'NotificationCompat.Builder'的'setSmallIcon'方法。 – Dhruv

回答

0
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 
       .setSmallIcon(R.mipmap.custom_icon) 
       .setContentTitle("FCM Message") 
       .setContentText(messageBody) 
       .setAutoCancel(true) 
       .setSound(defaultSoundUri) 
       .setContentIntent(pendingIntent); 
0

你可以這樣做:

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

有沒有一種方法可以在沒有Notification.Builder的情況下完成。就像默認的圖標是從清單裏拿出來的,它等於應用程序圖標。它可以在配置級別完成,以便應用於所有通知。 – Shashank

+0

你想生成自定義通知嗎? – Dhruv

+0

他正在使用默認的Firebase通知,因此他無權訪問Notification Builder。 – EdgarK

0

BuilderNotification對象。爲使用平臺的通知佈局模板設置通知的各個字段並生成內容視圖提供了一種便捷方式。查看官方文檔here

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

在這裏你可以設置包括圖標爲您的通知,自定義字段。

乾杯!快樂編碼

0

是的,你可以做吧。如果你想避免白色圓形圖標,你必須使你的圖標,透明,並添加背景顏色給它。所以你使用的顏色透過透明的圖標顯示出來,使圖標可見和多彩。 請在下面的示例代碼中檢查setSmallIcon和setColor。 Check this doc and search for 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); 
16

你可以根據https://firebase.google.com/docs/cloud-messaging/android/receive

<!-- 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" /> 

希望它可以幫助人們在您的清單中使用。

+0

此信息不完整,您發佈的鏈接也是如此。 –

+0

@BecarioSenior ???我沒有得到任何錯誤。請參閱Firebase文檔。 – elsennov

+2

感到驚訝我有多少谷歌找到這個。感謝您的幫助和 參考 –