Після оновлення свого проекту до Android O
buildToolsVersion "26.0.1"
Lint в Android Studio показує застаріле попередження про спосіб наступного розробника сповіщень:
new NotificationCompat.Builder(context)
Проблема полягає в тому, що розробники Android оновлюють свою Документацію, що описує NotificationChannel, щоб підтримувати сповіщення в Android O і надають нам фрагмент, але з таким же застарілим попередженням:
Notification notification = new Notification.Builder(MainActivity.this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
.setChannelId(CHANNEL_ID)
.build();
Моє запитання: Чи існує якесь інше рішення для створення сповіщень і все ще підтримує Android O?
Я знайшов рішення - передати ідентифікатор каналу як параметр у конструкторі Notification.Builder. Але це рішення точно не можна використовувати повторно.
new Notification.Builder(MainActivity.this, "channel_id")
notificationBuild.setChannelId("channel_id")
. У моєму випадку це останнє рішення є більш повторним використання, оскільки моє NotificationCompat.Builder
повторне використання у двох методах, зберігаючи параметри для піктограм, звуків та вібрувань.