====== Notificaciones en Kotlin ====== ===== Permisos AndroidManifest.xml ===== Debemos tener establecido el siguiente permiso en AndroidManifest.xml: {{:kotlin:imagen_2023-11-03_131129153.png|}} ===== Constantes Recomendadas ===== Primero crearemos las constantes con el nombre del canal, el ID del canal y el ID de la notificación que crearemos al inicio de la clase de nuestra activity: private val nombreCanal = "depanama" private val idCanal = "retrovisu" private val idNotificacion = 5 ===== Crear Canal de Notificaciones ===== Después, donde termina la función onCreate crearemos un canal de notificaciones, que es necesario para dispositivos con android 8 y superior: private fun crearCanalNotificacion(){ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){//Comprobamos la versión val importanciaCanal = NotificationManager.IMPORTANCE_HIGH //establecemos la importancia del canal val canal = NotificationChannel(idCanal, nombreCanal, importanciaCanal) //definimos el canal //Creamos gestor de notificaciones: val manager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager manager.createNotificationChannel(canal)//Creamos el canal de notificaciones } } ===== Función para lanzar la notificación ===== Finalmente crearemos la función para lanzar la notificación: private fun crearNotificacion(){ crearCanalNotificacion()//Creamos canal de comunicación val notificacion = NotificationCompat.Builder(this,idCanal).also { it.setContentTitle("Título Notificación") it.setContentText("Cuerpo notificación") it.setSmallIcon(R.drawable.foto)//icono de la notificación it.priority = NotificationCompat.PRIORITY_HIGH//establecemos prioridad }.build() val GestorNotificaciones = NotificationManagerCompat.from(this) //revisamos que estén puestos los permisos en AndroidManifest.xml if (ActivityCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) { Toast.makeText(applicationContext,"No hay permisos de notificaciones", Toast.LENGTH_SHORT) return } GestorNotificaciones.notify(idNotificacion, notificacion) } ===== A tener en cuenta ===== Si tras establecer los permisos y demás no te salen las notificaciones debes ir a configuración de android, ir a la sección de permisos de notifiaciones y asegurarte de que tu aplicación no esté deshabilitada: {{:kotlin:imagen_2023-11-03_131403843.png|}} Buscamos Notificaciones en la barra de búsqueda y vamos al gestor de permisos de notificaciones: {{:kotlin:imagen_2023-11-03_131547617.png|}} Si nuestra App no aparece, le daremos a donde pone más recientes y luego a Desactivadas: {{:kotlin:imagen_2023-11-03_131753760.png|}} Después de eso se nos mostrarán las activaciones sin permisos de notificación, buscaremos nuestra app y le activaremos los permisos.