Android(通知不会生成默认声音)

幽沉谢世事,俯默窥唐虞。这篇文章主要讲述Android:通知不会生成默认声音相关的知识,希望能为你提供帮助。
我试图用声音生成FCM通知。我收到通知等没有问题,但根本没有声音。我可以使用默认的通知声音。请检查以下代码。它适用于API 26及更高版本。

NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); // The id of the channel. String id = "xxx"; // The user-visible name of the channel. CharSequence name = "xxx"; // The user-visible description of the channel. String description = "xxx"; int importance = NotificationManager.IMPORTANCE_DEFAULT; NotificationChannel mChannel = new NotificationChannel(id, name, importance); // Configure the notification channel. mChannel.setDescription(description); mChannel.enableLights(true); // Sets the notification light color for notifications posted to this // channel, if the device supports this feature. mChannel.setLightColor(Color.RED); mChannel.enableVibration(true); mChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400}); mNotificationManager.createNotificationChannel(mChannel); mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); // The id of the channel. String CHANNEL_ID = "xxx"; // Create a notification and set the notification channel. Notification notification = new Notification.Builder(this,"xxx") .setSmallIcon(R.drawable.volusha_notifications) .setContentText(text) .setChannelId(CHANNEL_ID) .setContentIntent(pendingIntent) .setContentTitle(title) .setAutoCancel(true) .build(); // Issue the notification. mNotificationManager.notify(new Random().nextInt(), notification);

为什么会发生这种情况以及如何获得默认声音?
答案改变这一部分:
// Create a notification and set the notification channel. Notification notification = new Notification.Builder(this,"xxx") .setSmallIcon(R.drawable.volusha_notifications) .setContentText(text) .setChannelId(CHANNEL_ID) .setContentIntent(pendingIntent) .setContentTitle(title) .setAutoCancel(true) .build();


// Create a notification and set the notification channel. Notification notification = new Notification.Builder(this,"xxx") .setSmallIcon(R.drawable.volusha_notifications) .setContentText(text) .setChannelId(CHANNEL_ID) .setContentIntent(pendingIntent) .setContentTitle(title) .setSound(RingtoneManager .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)) .setAutoCancel(true) .build();

另一答案【Android(通知不会生成默认声音)】尝试使用RingtoneManager获取默认通知Uri为:
Uri uri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); builder.setSound(uri);


    推荐阅读