Icon is not getting displayed in notification in Android nougat

7.5k views Asked by At

I researched about this and found out that addAction (int icon, CharSequence title, PendingIntent intent) is deprecated, so I used addAction (Notification.Action action) . In both the cases, icon cant be seen.

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

notificationBuilder.addAction(action);

The text seems to be working though, but I have left it blank, hence there is an empty space below the main image, where icon is supposed to be displayed

1

There are 1 answers

3
AymericM On BEST ANSWER

This is not an error, but a change in the design with Android Nougat. Icons defined by addAction (Notification.Action action) are not any more displayed by devices. They still are required for older devices and Android Wear devices!

Quoting android developers google blog

You’ll note that the icons are not present in the new notifications; instead more room is provided for the labels themselves in the constrained space of the notification shade. However, the notification action icons are still required and continue to be used on older versions of Android and on devices such as Android Wear.

If you’ve been building your notification with NotificationCompat.Builder and the standard styles available to you there, you’ll get the new look and feel by default with no code changes required.