#java #android #android_sdk #android_studio #android_notification
При запуске приложения на API 23 компилятор студии выдает следующую ошибку.
java.lang.IllegalArgumentException: Invalid notification (no valid
small icon): Notification(pri=0
contentView=hitrene.pomegranate3/0x1090085 vibrate=null sound=null
defaults=0x0 flags=0x0 color=0x00000000 vis=PRIVATE)
Как я понял, ошибка — в неправильно подобранной иконке, но я пробовал все варианты
(белая, черная, с прозрачным фоном, без него, png, xml и прочее), но ничто не хочет
работать. Пробовал изменить разрешение до 16*16 по ответам к этому вопросу.
Изменение targetSdk до 21 — не лучший вариант. На Lolipop, кстати, все работает.
Context context = getApplicationContext();
Intent notificationIntent = new Intent(context, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent,
PendingIntent.FLAG_CANCEL_CURRENT);
Notification.Builder builder = new Notification.Builder(context)
builder.setContentIntent(contentIntent)
.setSmallIcon(R.drawable.alarm)
.setWhen(System.currentTimeMillis())
.setContentTitle("Pomegranate")
.setContentText(time);
Notification notification = builder.build();
notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(NOTIFY_ID, notification);
UPD: решение - понизить в build.gradle app до targetSdkVersion 21
Ответы
Ответ 1
Добавьте папку drawable-xxxhdpi Попробуйте иконку с альфа каналом, но только белый цвет, ни одного пикселя, отличающегося от #FFFFFFFF
Комментариев нет:
Отправить комментарий