Могу ли я переопределить значок уведомления по умолчанию по умолчанию в андроиде от значка приложения до пользовательского значка?

Могу ли я переопределить значок уведомления по умолчанию по умолчанию в андроиде от значка приложения до пользовательского значка?

Я использую реализацию firebase по умолчанию для отображения уведомлений в системном трее, когда приходит push-уведомление. Так как значок моего приложения окрашен и имеет градиент, поэтому, когда приходит уведомление, андроид пытается сделать черно-белую версию и сделать его похожим на белый круг.

Есть ли способ обновить значок уведомления по умолчанию для чего-то другого вместо значка приложения по умолчанию?

PS: В ожидании решения, требующего изменения конфигурации в манифесте, и не хотите использовать NotificationCompat.Builder

Вы можете использовать это в своем манифесте в соответствии с 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" /> 

Надеюсь, это помогает людям.

Вы можете установить

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

Маленькая иконка, установленная setSmallIcon ()

 NotificationCompat.Builder setLargeIcon (Bitmap icon) 

Установите большой значок, который отображается в тикере и уведомлении.

В NotificationCompat.Builder.

Документация – https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html

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

Класс Builder для объектов Notification . Предоставляет удобный способ установки различных полей уведомления и создания представлений контента с использованием шаблона макета уведомлений платформы. Проверьте официальную документацию здесь

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

Здесь вы можете установить настраиваемые поля, включая значок для ваших уведомлений.

Ура! Счастливое кодирование

Вы можете сделать следующее:

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

Да, вы можете это сделать. Если вы хотите избежать значка белого круга, вы должны сделать свой значок прозрачным и добавить к нему цвет фона. Таким образом, цвет, который вы используете, появляется через прозрачный значок и делает значок видимым и красочным. Пожалуйста, проверьте на setSmallIcon и setColor в приведенном ниже примере кода. Проверьте этот документ и выполните поиск прозрачных

 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); 
Intereting Posts
Не удалось разрешить целевой «android-XX» BitmapFactory не может декодировать растровое изображение от Uri после фотографий, сделанных на Android Nougat Android не признает TTS Engine Как запустить конкретное приложение для Android с помощью терминала? Как развернуть приложение Titanium на реальном устройстве Android? AlphaAnimation не работает в мороженом сэндвич Как импортировать скользящее меню на Android Studio? Слишком большой размер, чтобы вставлять кеш при рисовании при вызове getDrawingCache () Как отобразить список приложений, уже установленных на Android-телефоне в списке? Учебники или примеры для отладки памяти Android Системные разрешения для Android через корень Может ли кто-нибудь дать один конкретный пример внедрения webview в android Android Wear, подключитесь к устройству Bluetooth Должен ли Java-финализатор действительно избегать также для управления жизненным циклом собственных одноранговых объектов? Реагировать нативный с помощью Genymontion throwing concurrent Exception