2012-03-14 7 views
2

Я использую Galaxy Nexus с Android 4.0, я установил тихий режим для вибрирования в настройках. Я использую NotificationManager.notify для отправки Уведомления. Я не устанавливаю Notification.vibrate, я даже использую myNotification.defaults & = ~ Notification.DEFAULT_VIBRATE, чтобы отключить вибрацию. Но он все еще вибрирует после вызова NotifcationManager.notify. Может ли кто-нибудь сказать мне, как отключить вибрацию уведомления в режиме вибрации?Как отключить вибрацию уведомления по умолчанию

ответ

3

использовать следующий код:

notification.defaults = Notification.DEFAULT_LIGHTS; 
//or 
notification.defaults = Notification.DEFAULT_SOUND; 
1

Для управления параметрами уведомления динамически:

notification.defaults = Notification.DEFAULT_LIGHTS; 

if(/*sound enabled*/) 
    notification.defaults |= Notification.DEFAULT_SOUND; 

if(/*vibration enabled*/) 
    notification.defaults |= Notification.DEFAULT_VIBRATE; 
0

Первый магазин значение вашей кнопки настройки в общей предпочтительности вибрируют. и затем поместите этот код, где получено ваше уведомление.

SharedPreferences preferences = context.getSharedPreferences("VIBRATE", 
      0); 
boolean vibrate = preferences.getBoolean("vibrate", true); 
if (vibrate) { 
     notification.defaults |= Notification.DEFAULT_VIBRATE; 
    } 
1

Чтобы отключить вибрацию при поступлении уведомления, я использую этот код.

notification.vibrate = new long[] { -1 }; 

И его работа отлично.