Como desligar a vibração padrão de uma notificação
-
13-12-2019 - |
Pergunta
Estou usando o Galaxy Nexus com Android 4.0, configurei o modo silencioso para vibrar nas Configurações.Eu uso NotificationManager.notify para enviar a notificação.Não defino Notification.vibrate, até uso myNotification.defaults &= ~Notification.DEFAULT_VIBRATE para desativar a vibração.Mas ainda vibra depois de chamar NotifcationManager.notify.Alguém poderia me dizer como desligar a vibração de uma Notificação no modo vibratório?
Solução
use o seguinte código:
notification.defaults = Notification.DEFAULT_LIGHTS;
//or
notification.defaults = Notification.DEFAULT_SOUND;
Outras dicas
Para gerenciar configurações de notificação dinamicamente:
notification.defaults = Notification.DEFAULT_LIGHTS;
if(/*sound enabled*/)
notification.defaults |= Notification.DEFAULT_SOUND;
if(/*vibration enabled*/)
notification.defaults |= Notification.DEFAULT_VIBRATE;
Para desativar a vibração quando a notificação chegar, eu uso este código.
notification.vibrate = new long[] { -1 };
E está funcionando perfeitamente.
Primeiro armazene o valor do seu botão de configuração de vibração na preferência compartilhada.e coloque este código onde sua notificação é recebida.
SharedPreferences preferences = context.getSharedPreferences("VIBRATE",
0);
boolean vibrate = preferences.getBoolean("vibrate", true);
if (vibrate) {
notification.defaults |= Notification.DEFAULT_VIBRATE;
}