Почему не работает notification в Android на Kotlin?
Приложение запускается без ошибок, но при нажатии на кнопку - уведомление не появляется. В настройках телефона по умолчанию - показ уведомлений разрешен
class MainActivity : AppCompatActivity() {
companion object {
const val NOTIFICATION_ID = 101
const val CHANNEL_ID = "channelID"
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button: Button = findViewById(R.id.button1)
button.setOnClickListener {
// Создаём уведомление
val builder = NotificationCompat.Builder(this, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_action_24dp)
.setContentTitle("Напоминание")
.setContentText("Текст уведомления")
.setAutoCancel(true)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
val notificationManager = NotificationManagerCompat.from(this)
notificationManager.notify(NOTIFICATION_ID, builder.build())
}
}
}
Ответы (1 шт):
Автор решения: Vadik
→ Ссылка
Начиная с API 26 (Android 8 и выше), чтобы работали уведомления, необходимо зарегистрировать Notification Channel. Сделать это можно следующим образом:
val notificationManager = NotificationManagerCompat.from(this)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val channel = NotificationChannel(CHANNEL_ID, CHANNEL_NAME, IMPORTANCE_DEFAULT)
notificationManager.createNotificationChannel(channel)
}