16

我已经尝试了这里建议的很多东西,但对我来说没有任何效果。这是我的源代码:

Intent resultIntent = new Intent(this, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, resultIntent,PendingIntent.FLAG_UPDATE_CURRENT);  
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("title")
.setContentText("Hello World!");
mBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
mBuilder.setContentIntent(contentIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());

通知出现但没有声音,有什么帮助吗?

4

5 回答 5

24

设置默认标志:

mBuilder.setDefaults(Notification.DEFAULT_SOUND|Notification.DEFAULT_LIGHTS|Notification.DEFAULT_VIBRATE);
于 2014-07-09T11:55:21.793 回答
5

使用notification.sound代替 mBuilder.setSound() 解决了我的问题。

这是代码 -

Notification notification = mBuilder.build();
notification.sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
mNotificationManager.notify(0, notification);
于 2014-05-13T19:48:25.783 回答
2

我看不出你设置声音的方式有什么问题。另一种替代方法是按以下方式设置声音。试试看有没有帮助...

Uri alertSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("title")
.setContentText("Hello World!")
.setSound(alertSound);

更新
请尝试编辑NotificationManager如下并尝试...

NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = mBuilder.getNotification();
notification.flags = Notification.FLAG_AUTO_CANCEL; // cancel the notification when clicked by the user
mNotificationManager.notify(0, notification);
于 2013-07-03T23:15:35.810 回答
0

这也可能是因为与旧 API 版本的轻微不兼容。例如,在 SDK 25 上编译但针对旧版本(例如 SDK 15)时,我添加了以下行来解决问题:

notification.audioStreamType = AudioManager.STREAM_ALARM;
于 2017-12-03T18:59:30.093 回答
0

查看我的声音设置就可以了。通知级别一直降到零。

这很棘手,因为除了通知之外,其他声音也会起作用。

于 2016-08-05T18:00:43.343 回答