Android通知不会发出声音或振动

时间:2012-01-26 22:32:47

标签: java android notifications

int icon = R.drawable.icon;  
Context context = getApplicationContext();    
CharSequence contentTitle = "My notification";  
CharSequence contentText = "Countdown Complete!";     
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Intent intent = new Intent();
Notification notification = new Notification(icon, "is completed!", System.currentTimeMillis());  
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
notification.setLatestEventInfo(context, contentTitle, contentText, pendingIntent);
long[] vibrate = {0,100,200,300};
notification.vibrate = vibrate;
notification.defaults |= Notification.DEFAULT_LIGHTS;
notification.defaults |= Notification.DEFAULT_SOUND; 
notificationManager.notify(myCountDown.getId(), notification);

这个代码在我的Android应用程序中,我收到通知但没有声音或振动。

我已经在多部手机上进行了测试,声音和振动都在设置中打开和关闭。我也确定我要求在Android清单中使用振动许可但我仍然只收到通知......

我也试过了:

notification.defaults = Notification.DEFAULT_ALL;

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

如何在通知中获得声音和振动?

4 个答案:

答案 0 :(得分:5)

不要忘记启用铃声和通知的振动设置。转到设置 - >声音。检查“声音振动”。

答案 1 :(得分:2)

notification.defaults | = Notification.DEFAULT_VIBRATE; 不起作用?

答案 2 :(得分:1)

步骤1:确保您在清单中拥有VIBRATE权限,并且您在具有振动电机的设备上运行。

步骤2:摆脱getApplicationContext(),因为你在这里不需要它。

步骤3:尝试通过sound上的Notification数据成员指定实际的铃声,看看是否是默认不播放的问题(您将不需要{{1} } DEFAULT_SOUND)。

答案 3 :(得分:0)

Notification notif ... //create your notification

notif.defaults | = Notification.DEFAULT_SOUND; notif.defaults | = Notification.DEFAULT_VIBRATE;

不要忘记在清单中包含“振动”权限。