在AndroidManifest.xml文件中,为进程指定一个默认通知声音。可以使用以下代码:
其中,@raw/my_custom_sound是在/res/raw目录下的自定义声音文件。如果不指定自定义声音,则默认使用系统通知声音。需要注意的是,默认通知声音仅在推送通知中使用,而非本地通知中。
此外,还需在FirebaseMessagingService的onMessageReceived方法中添加以下代码,以确保在推送通知中使用默认通知声音:
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// ...
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle(remoteMessage.getNotification().getTitle())
.setContentText(remoteMessage.getNotification().getBody())
.setAutoCancel(true)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);
if (remoteMessage.getNotification().getSound() == null) {
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
builder.setSound(defaultSoundUri);
}
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.notify(notificationId, builder.build());
}
在上述代码中,如果推送通知中未指定声音,则使用默认通知声音。如果指定了声音,则将推送通知中指定的声音用于通知。
上一篇:Android上通知中未显示操作
下一篇:Android上图片无法显示