2014-12-28 56 views
2

我想設置通知的振動和聲音。出於某種原因,它不是爲我工作:(以下是我想振動不能使用通知

NotificationManager notificationManager = getNotificationManager(); 
     NotificationCompat.Builder builder = new NotificationCompat.Builder(
       context); 
     builder.setSound(alarmSound); 
     builder.setVibrate(new long[] { 1000, 1000, 1000 }); 
     Notification notification = builder.setContentIntent(contentIntent) 
       .setSmallIcon(icon).setTicker(title).setWhen(0) 
       .setAutoCancel(true).setContentTitle(title).setPriority(Notification.PRIORITY_HIGH) 
       .setStyle(new NotificationCompat.BigTextStyle().bigText(msgToDisply)) 
       .setContentText(msgToDisply).build(); 
     notificationManager.notify(NOTIFICATION, notification); 
     stopSelf(); 

而且

public NotificationManager getNotificationManager() { 
     return (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    } 

的代碼,我有權在我的清單

<uses-permission android:name="android.permission.VIBRATE" /> 

任何線索是什麼繼續?

回答

4

這是因爲你沒有聲明振動器類在通知中振動。在你的通知生成器放置此代碼並根據您的選擇設置振動的持續時間。

Vibrator v = (Vibrator) this.context.getSystemService(Context.VIBRATOR_SERVICE); 
// Vibrate for 500 milliseconds 
v.vibrate(500); 
+0

但我使用NotificationCompat.Builder – Achayan

+0

沒關係,你必須在我的代碼或@Panayiotis碼聲明震動功能!反正必須聲明! – BiggDawgg

+0

爲什麼NotificationBuilder和Notification支持設置振動值? –

5

添加此

notification.defaults|= Notification.DEFAULT_SOUND; 
notification.defaults|= Notification.DEFAULT_LIGHTS; 
notification.defaults|= Notification.DEFAULT_VIBRATE; 
+0

仍然沒有工作:( – Achayan

+0

@Achayan你可以把你的廣播接收器的何典 –

+1

振動器振動=(振動器)這個 \t \t .getSystemService(Context.VIBRATOR_SERVICE); \t \t vibrator.vibrate(2000年); 這最後工作..謝謝你們的幫助 – Achayan