После обновления моего проекта до 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")
. В моем случае это последнее решение более пригодно для повторного использования, так как my NotificationCompat.Builder
используется в нескольких методах, сохраняя параметры для значков, звуков и вибраций.