Depois de atualizar meu projeto para o Android O
buildToolsVersion "26.0.1"
O Lint no Android Studio está mostrando um aviso preterido para o método do construtor de notificações a seguir:
new NotificationCompat.Builder(context)
O problema é: os desenvolvedores do Android atualizam sua documentação descrevendo o NotificationChannel para oferecer suporte a notificações no Android O e nos fornecem um snippet, mas com o mesmo aviso preterido:
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();
Minha pergunta: Existe outra solução para criar notificações e ainda suporta o Android O?
Uma solução que encontrei é passar o ID do canal como parâmetro no construtor Notification.Builder. Mas essa solução não é exatamente reutilizável.
new Notification.Builder(MainActivity.this, "channel_id")
notificationBuild.setChannelId("channel_id")
. No meu caso, essa última solução é mais reutilizada, pois NotificationCompat.Builder
é reutilizada em alguns métodos, economizando parâmetros para ícones, sons e vibrações.