Я установил текущее уведомление с помощью службы переднего плана.Вот код:
NotificationCompat.Builder notificationBuilder= new NotificationCompat.Builder(this,"unique")
.setSmallIcon(R.drawable.ic_mms_black_24dp)
.setContentTitle("My notification")
.setContentText("Hello World!")
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
Notification notification= notificationBuilder.build();
startForeground(MY_ID,notification);
Но значок, который я установил на setSmallIcon()
, не действует, вместо этого он показывает значок приложения по умолчанию в строке состояния и панели уведомлений, которые работают на Android 6. Однако послечто я запустил вышеуказанный код на Android 5.1.1 (API LEVEL 22), и он показывает правильный значок.Я пробовал разные типы иконок (png, xml) и все работало хорошо.Но на моем «Зефире» он показывает значок приложения по умолчанию.
Как выяснить причину?
С Android 6 (значок находится в крайнем левом углу):
Из Android 5 (значок находится в крайнем левом углу):
РЕДАКТИРОВАТЬ : Я тоже пробовал белый значок.Но все равно в уведомлении отображается значок приложения по умолчанию.Есть ли ограничения по размеру иконки?Но иконки XML очень хорошо масштабируются.