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?

Foi útil?

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;
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top