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;
如何在通知中获得声音和振动?
答案 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;
不要忘记在清单中包含“振动”权限。