2012-03-14 52 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 }; 

其工作完美。