Después de actualizar mi proyecto a Android O
buildToolsVersion "26.0.1"
Lint en Android Studio muestra una advertencia obsoleta para el siguiente método de creación de notificaciones:
new NotificationCompat.Builder(context)
El problema es: los desarrolladores de Android actualizan su documentación que describe NotificationChannel para admitir notificaciones en Android O, y nos proporcionan un fragmento, pero con la misma advertencia obsoleta:
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();
Mi pregunta: ¿hay alguna otra solución para generar notificaciones y todavía es compatible con Android O?
Una solución que encontré es pasar el ID del canal como un parámetro en el constructor Notification.Builder. Pero esta solución no es exactamente reutilizable.
new Notification.Builder(MainActivity.this, "channel_id")
notificationBuild.setChannelId("channel_id")
. En mi caso, esta última solución es más reutilizable ya que mi NotificationCompat.Builder
se reutiliza en un par de métodos, guardando parámetros para iconos, sonidos y vibraciones.