NotificationCompat android - как показать только большой значок без малейшего

Когда я добавляю уведомление:

        NotificationCompat.Builder mBuilder =
                            new NotificationCompat.Builder(this)  
              .setSmallIcon(R.drawable.plus)
.setContentTitle(title)
.setAutoCancel(true) 
.setContentText(text)
.setSound(RingtoneManager .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setLargeIcon(bm);

Я вижу большой значок и маленький в нем: enter image description here

Как я могу установить только большой значок без малейшего. Если используется только setLargeIcon, я вообще не вижу уведомления, просто звуковое оповещение.

Ответ 1

Маленький значок является обязательным. Если вы не установите большой, вы получите свой маленький значок больше в середине круга с цветом по вашему выбору (setColor).

Если бы я был вами, я бы положил этот пустой E на прозрачный фон для smallicon и установил красный цвет для круга.

Ответ 2

получить маленький значок значка, а затем попытаться скрыть его

int smallIconId = ctx.getResources().getIdentifier("right_icon", "id", android.R.class.getPackage().getName());
if (smallIconId != 0) { 
    if (notification.contentView!=null)
        notification.contentView.setViewVisibility(smallIconId, View.INVISIBLE);
}

попробуйте посмотреть сообщение, это тоже поможет.

Я проверяю код на api 18,23 (samsung j1, galaxy S6) работает нормально

Ответ 3

В соответствии с предыдущим ответом вы также можете скрыть и расширенное представление:

int smallIconId = AnghamiApp.getContext().getResources().getIdentifier("right_icon", "id", android.R.class.getPackage().getName());
            if (smallIconId != 0) {
                notification.contentView.setViewVisibility(smallIconId, View.INVISIBLE);
                notification.bigContentView.setViewVisibility(smallIconId, View.INVISIBLE);
            }