NotificationCompat android - как показать только большой значок без малейшего
Когда я добавляю уведомление:
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.plus)
.setContentTitle(title)
.setAutoCancel(true)
.setContentText(text)
.setSound(RingtoneManager .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setLargeIcon(bm);
Я вижу большой значок и маленький в нем: ![enter image description here]()
Как я могу установить только большой значок без малейшего.
Если используется только setLargeIcon, я вообще не вижу уведомления, просто звуковое оповещение.
Ответы
Ответ 1
Маленький значок является обязательным.
Если вы не установите большой, вы получите свой маленький значок больше в середине круга с цветом по вашему выбору (setColor).
Если бы я был вами, я бы положил этот пустой E на прозрачный фон для smallicon и установил красный цвет для круга.
Ответ 2
получить маленький значок значка, а затем попытаться скрыть его
int smallIconId = ctx.getResources().getIdentifier("right_icon", "id", android.R.class.getPackage().getName());
if (smallIconId != 0) {
if (notification.contentView!=null)
notification.contentView.setViewVisibility(smallIconId, View.INVISIBLE);
}
попробуйте посмотреть сообщение, это тоже поможет.
Я проверяю код на api 18,23 (samsung j1, galaxy S6) работает нормально
Ответ 3
В соответствии с предыдущим ответом вы также можете скрыть и расширенное представление:
int smallIconId = AnghamiApp.getContext().getResources().getIdentifier("right_icon", "id", android.R.class.getPackage().getName());
if (smallIconId != 0) {
notification.contentView.setViewVisibility(smallIconId, View.INVISIBLE);
notification.bigContentView.setViewVisibility(smallIconId, View.INVISIBLE);
}
Ответ 4
Вы можете создать собственное уведомление, а затем показать все, что хотите, в большой области уведомлений.
См. Здесь и пример здесь TutorialsFace: создайте все типы уведомлений в Android