Как получить цвет уведомления для Android?
У некоторых уведомлений их маленький значок уведомления отображается в виде значка в левом нижнем углу большого значка (см. Первое, второе и последнее уведомление).
Однако после Lollipop ОС автоматически устанавливает белый цветной фильтр для маленьких значков и всякий раз, когда я пытаюсь получить их для отображения из моего NotificationListenerService
они возвращены в белом. Можно ли каким-то образом извлечь цвет фона для маленьких значков или получить маленький значок непосредственно в виде цветных рисунков, как есть? Ниже мой код, который возвращает только белые значки.
public void onNotificationPosted(StatusBarNotification sbn) {
super.onNotificationPosted(sbn);
Bundle extras = sbn.getNotification().extras;
int smallNotiIcon = extras.getInt(Notification.EXTRA_SMALL_ICON);
//Code to display obtained small icon in an imageView shows up as white
}
1 ответ
Цвет можно получить из уведомления через открытое поле цвета:
Notification notification = sbn.getNotification();
// ARGB color set with the notification
int color = notification.color;
Существует также COLOR_DEFAULT как цвет уведомления по умолчанию, который вы можете использовать, чтобы увидеть, установлен ли пользовательский цвет вообще.