Après la mise à niveau de mon projet vers Android O
buildToolsVersion "26.0.1"
Lint dans Android Studio affiche un avertissement obsolète pour la méthode de générateur de notification suivante:
new NotificationCompat.Builder(context)
Le problème est le suivant: les développeurs Android mettent à jour leur documentation décrivant NotificationChannel pour prendre en charge les notifications dans Android O et nous fournissent un extrait de code, mais avec le même avertissement obsolète:
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();
Ma question: existe-t-il une autre solution pour créer des notifications et prendre en charge Android O?
Une solution que j'ai trouvée est de transmettre l'ID de canal en tant que paramètre dans le constructeur Notification.Builder. Mais cette solution n'est pas exactement réutilisable.
new Notification.Builder(MainActivity.this, "channel_id")
notificationBuild.setChannelId("channel_id")
. Dans mon cas, cette dernière solution est plus réutilisable car my NotificationCompat.Builder
est réutilisée dans quelques méthodes, enregistrant des paramètres pour les icônes, les sons et les vibrations.