设备静音或振动时发出通知声音

问题描述 投票:0回答:1

我的项目想要制作一个带有紧急消息的聊天功能。

这里有人曾经让设备处于静音或振动模式时保持通知声音吗? 怎么做 ?我使用 FCM 作为通知服务。 已将重要性和优先级设置为高。

我将此代码放在 FirebaseMessagingService

val notificationBuilder = NotificationCompat.Builder(this, channelId)
        .setSmallIcon(R.drawable.ic_doctor_apps)
        .setContentTitle(fixedTitle)
        .setContentText(fixedMessageBody)
        .setAutoCancel(true)
        .setSound(defaultSoundUri)
        .setContentIntent(pendingIntent)
        .setPriority(NotificationCompat.PRIORITY_HIGH)
        .setCategory(NotificationCompat.CATEGORY_ALARM)

    notificationManager.notify(666 /* ID of notification */, notificationBuilder.build())

我将代码文件放在我的应用程序中

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        val channel = NotificationChannel(
            channelId,
            "Channel human readable title",
            NotificationManager.IMPORTANCE_HIGH
        ).apply {
            description = "Description of this channel"
            setSound(
                Uri.parse(defaultSoundUri.toString()), AudioAttributes.Builder()
                    .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
                    .setUsage(AudioAttributes.USAGE_ALARM)
                    .build())
        }

        notificationManager.createNotificationChannel(channel)
    }
android firebase kotlin push-notification firebase-cloud-messaging
1个回答
0
投票

您必须使用 MediaPlayer 作为通知声音。

启动一个在显示通知时播放 MediaPlayer 的服务。

要停止声音,请停止通知的 PendingIntent 的 BroadCastReceiver 中的服务。

不要忘记在通知取消时停止声音。

© www.soinside.com 2019 - 2024. All rights reserved.