Значок не отображается в уведомлении в нуге Android

Я исследовал об этом и узнал, что addAction (int icon, CharSequence title, PendingIntent intent) устарела, поэтому я использовал addAction (Notification.Action action), В обоих случаях значок не виден.

NotificationCompat.Action action = new NotificationCompat.Action.Builder(R.drawable.ic_share, "", pendingIntent).build();

notificationBuilder.addAction(action);

Кажется, что текст работает, но я оставил его пустым, поэтому под основным изображением есть пустое место, где должен отображаться значок

1 ответ

Решение

Это не ошибка, а изменение дизайна с Android Nougat. Значки, определенные addAction (действие Notification.Action), больше не отображаются устройствами. Они все еще необходимы для старых устройств и устройств Android Wear!

Цитирование Android разработчиков Google блога

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

Если вы создавали свое уведомление с помощью NotificationCompat.Builder и стандартных стилей, доступных вам там, вы получите новый внешний вид по умолчанию без изменения кода.

Другие вопросы по тегам