El permiso de notificaciones en tiempo de ejecución
Solicite permiso para notificaciones en Android 13+
El permiso de notificaciones en tiempo de ejecución es una lección gratuita de Android Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Android Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Android Academy incluye 4 lecciones en total.
El permiso de notificaciones
A partir de Android 13 (API 33), las aplicaciones deben solicitar un permiso de ejecución para publicar notificaciones: POST_NOTIFICATIONS. Sin él, las notificaciones se bloquean silenciosamente.
Por qué se añadió
Antes de Android 13, las notificaciones estaban activadas de forma predeterminada y los usuarios tenían que buscar en Ajustes para silenciar las aplicaciones molestas. El permiso de ejecución cambia esta situación: ahora los usuarios deben aceptarlas explícitamente, lo que reduce el spam.
Declararlo en el manifiesto
Primero declare el permiso en AndroidManifest.xml. Esto es obligatorio en todas las versiones compatibles, aunque el aviso solo aparece en API 33 y posteriores.
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />Es un permiso peligroso
POST_NOTIFICATIONS está clasificado como permiso de ejecución (peligroso), por lo que en Android 13 y posteriores debe solicitarlo al usuario y gestionar su respuesta, igual que ocurre con la cámara o la ubicación.
Comportamiento según la versión
Las diferencias entre versiones son importantes:
- API 33+: debe solicitarse durante la ejecución; si se deniega, no habrá notificaciones
- API 32 y anteriores: las notificaciones están permitidas de forma predeterminada; no se necesita ningún aviso
Comprobar antes de solicitar
Solicítelo únicamente en Android 13 y posteriores, y solo si todavía no se ha concedido. Proteja la llamada con una comprobación de versión.
val needsRequest = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU &&
ContextCompat.checkSelfPermission(
context, Manifest.permission.POST_NOTIFICATIONS
) != PackageManager.PERMISSION_GRANTEDSolicitarlo en Compose
Use la misma Activity Result API que aprendió para otros permisos: un launcher con el contrato RequestPermission, iniciado con POST_NOTIFICATIONS.
val launcher = rememberLauncherForActivityResult(
ActivityResultContracts.RequestPermission()
) { granted ->
// update UI based on whether notifications are allowed
}Iniciar la solicitud
Active la solicitud solo en API 33 y posteriores, idealmente cuando el usuario haga algo que se beneficie de las notificaciones, no automáticamente al iniciar la aplicación.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
launcher.launch(Manifest.permission.POST_NOTIFICATIONS)
}Solicitarlo en contexto
Como ocurre con todos los permisos, solicítelo en contexto. Por ejemplo, pregunte después de que el usuario active una función como los recordatorios y explique su beneficio, en lugar de hacerlo justo al abrir la aplicación.
Gestionar la denegación correctamente
Si se deniega, no interrumpa el funcionamiento. Desactive los controles que dependan de las notificaciones o muestre un aviso indicando que están desactivadas, con un enlace a Ajustes del sistema por si el usuario quiere activarlas más adelante.
El SDK de destino activa la aplicación de la norma
El requisito de ejecución se aplica cuando su aplicación tiene como objetivo la API 33 o posterior. Si una aplicación antigua se ejecuta en Android 13, el sistema puede mostrar el aviso automáticamente al publicar por primera vez, pero aun así debería solicitar el permiso de forma explícita.
Comprobación rápida
Compruebe cuánto ha aprendido sobre el permiso de ejecución para notificaciones.
Resumen
Ha gestionado el permiso de notificaciones:
- Android 13 y posteriores requieren el permiso de ejecución
POST_NOTIFICATIONS - Declárelo en el manifiesto y solicítelo mediante Activity Result API
- Proteja las solicitudes con una comprobación de versión y hágalo en contexto
- Adapte el funcionamiento correctamente cuando se deniegue
Ha terminado el curso sobre notificaciones.
Preguntas frecuentes
¿La lección «El permiso de notificaciones en tiempo de ejecución» es gratis?
Sí — el texto completo de «El permiso de notificaciones en tiempo de ejecución» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Android Academy, actualiza a CoddyKit PRO. El curso de Android Academy incluye 4 lecciones en total.
¿Qué aprenderé en «El permiso de notificaciones en tiempo de ejecución»?
Solicite permiso para notificaciones en Android 13+ Practicas Android Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Android Academy?
No se requiere experiencia previa. Android Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «El permiso de notificaciones en tiempo de ejecución»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Android Academy?
Sí. Cada lección de Android Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Canales de notificación
- Crear una notificación
- Acciones y deep links
- El permiso de notificaciones en tiempo de ejecución