Po uaktualnieniu mojego projektu do Androida O
buildToolsVersion "26.0.1"
Lint w Android Studio wyświetla przestarzałe ostrzeżenie dla następującej metody konstruktora powiadomień:
new NotificationCompat.Builder(context)
Problem polega na tym, że programiści Androida aktualizują swoją dokumentację opisującą NotificationChannel, aby obsługiwać powiadomienia w systemie Android O i dostarczają nam fragment kodu, ale z tym samym przestarzałym ostrzeżeniem:
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();
Moje pytanie: czy jest jakieś inne rozwiązanie do tworzenia powiadomień i nadal obsługuje Androida O?
Rozwiązaniem, które znalazłem, jest przekazanie identyfikatora kanału jako parametru w konstruktorze Notification.Builder. Ale to rozwiązanie nie nadaje się do ponownego użycia.
new Notification.Builder(MainActivity.this, "channel_id")
notificationBuild.setChannelId("channel_id")
. W moim przypadku to ostatnie rozwiązanie jest bardziej przydatne, ponieważ moje NotificationCompat.Builder
jest ponownie używane w kilku metodach, zapisując parametry ikon, dźwięków i wibracji.