O Android 4.1 oferece ao usuário uma caixa de seleção para desabilitar notificações para um aplicativo específico.
No entanto, como desenvolvedor, não temos como saber se uma chamada para notificar foi eficaz ou não.
Eu realmente preciso verificar se as notificações estão desabilitadas para o aplicativo atual, mas não consigo encontrar nenhuma configuração para isso na API.
Existe uma maneira de verificar essa configuração no código?
android
android-notifications
android-notification-bar
Guillaume Perrot
fonte
fonte
Respostas:
Você não pode 100% não pode.
É solicitado neste vídeo do Google I / O 2012 e o líder do projeto para as novas notificações declara que você não pode.
Editar
Atualização de 2016: Agora você pode conferir, como disse neste vídeo do Google I / O 2016 .
Use
NotificationManagerCompat.areNotificationsEnabled()
, na biblioteca de suporte, para verificar se as notificações estão bloqueadas na API 19+. As versões abaixo da API 19 retornarão verdadeiras (as notificações são ativadas).fonte
NotificationManagerCompat.from(ctx).areNotificationsEnabled()
Na verdade, isso é muito fácil de fazer:
fonte
A resposta de @blundell está correta, mas há uma pequena alteração nas versões mais recentes.
fonte
Se você estiver usando o Xamarin e precisar desta resposta, poderá usar este código:
fonte
Parece que não há como consultar o estado de notificação.
Eu recomendo isto:
Não 100% correto. Mas isso dá uma opinião.
Por exemplo, se o usuário não clicar em nenhuma notificação do aplicativo por 10-15 dias, provavelmente ele o desativou
fonte
Eu uso este método para verificar se as notificações estão habilitadas ou não, os métodos mencionados acima funcionarão para verificar se as notificações estão habilitadas ou não. Mas a partir do Android 8 para a criação de notificações , temos que criar um canal primeiro , então, a partir do Oreo, temos que verificar se seu canal de notificação está ativado ou não .
fonte