幽沉谢世事,俯默窥唐虞。这篇文章主要讲述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);
推荐阅读
- 在Android O中运行后台运行Intentservice
- com.google.android.gms.common.internal.safe parcel.safe parcelable not found
- 当app在前台时发送推送通知
- React app,componentDidUpdate - 跳转列表,无限循环
- Android XML解析与泰米尔新闻API
- Android Studio(加载时MapView应用崩溃)
- 为什么PKWARE网站上的ZIP APPNOTE没有在其规范中提到正确的密码检查机制()
- 在React-Native Expo的App购买中()
- 从服务器[DF-AA-20]检索信息时的应用程序内购买错误 - android