2017-01-06 5 views
8

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

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

notificationBuilder.addAction(action); 

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

ответ

15

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

Цитирование android developers google blog

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

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