Android 4.1 ofrece al usuario una casilla de verificación para deshabilitar las notificaciones para una aplicación específica.
Sin embargo, como desarrollador, no tenemos forma de saber si una llamada para notificar fue efectiva o no.
Realmente necesito verificar si las notificaciones están deshabilitadas para la aplicación actual, pero no puedo encontrar ninguna configuración para eso en la API.
¿Hay alguna forma de verificar esta configuración en el código?
android
android-notifications
android-notification-bar
Guillaume Perrot
fuente
fuente
Respuestas:
No puedes 100% no puedes.
Se pregunta en este video de Google I / O 2012 y el líder del proyecto para las nuevas notificaciones declara que no puede.
Editar
Actualización de 2016: ahora puede verificarlo, como se dice en este video de Google I / O 2016 .
Use
NotificationManagerCompat.areNotificationsEnabled()
, desde la biblioteca de soporte, para verificar si las notificaciones están bloqueadas en API 19+. Las versiones por debajo de API 19 devolverán verdadero (las notificaciones están habilitadas).fuente
NotificationManagerCompat.from(ctx).areNotificationsEnabled()
En realidad, esto es bastante fácil de hacer:
fuente
La respuesta de @blundell es correcta, pero hay un cambio menor en las versiones más nuevas.
fuente
Si está usando Xamarin y necesita esta respuesta, puede usar este código:
fuente
Parece que no hay forma de consultar el estado de notificación.
Recomiendo esto:
No es 100% correcto. Pero esto da una opinión.
Por ejemplo, si el usuario no hace clic en ninguna notificación de la aplicación durante 10-15 días, probablemente la desactivó
fuente
Utilizo este método para verificar si las notificaciones están habilitadas o no, los métodos mencionados anteriormente funcionarán para verificar si las notificaciones están habilitadas o no. Pero a partir de Android 8 para crear notificaciones tenemos que crear un canal primero , por lo que desde Oreo, tenemos que comprobar si tu canal de notificaciones está habilitado o no .
fuente