#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
Комментариев нет:
Отправить комментарий