Страницы

Поиск по вопросам

четверг, 23 января 2020 г.

Проблема с запуском приложения на Android 6 из-за иконки в оповещениях

#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

Комментариев нет:

Отправить комментарий