В моем приложении я создал канал для показа пользовательских уведомлений с пользовательским звуком .На большинстве телефонов работает нормально.Но есть 2 неожиданных поведения, с которыми я столкнулся на 2 разных типах телефонов.
На некоторых телефонах Redmi я сталкиваюсь с таким поведением :
Канал уведомления создается, но звукавтоматически отключается для этого канала.Я должен вручную пойти и включить звук для этого канала.Я не хочу, чтобы это делалось вручную.
На телефонах Vivo я сталкиваюсь со следующим поведением:
1) Канал уведомления создается, но вместо этого воспроизводится звук уведомления по умолчаниюпользовательского звука, который я установил
2) Иногда он не воспроизводит звук
3) Статические уведомления, которые должны оставаться фиксированными, можно легко прокручивать на панели уведомлений.
Можно ли как-нибудь исправить эти проблемы программно?
Это мой код для справки:
val attributes: AudioAttributes? = AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_ALARM)
.build()
val sound: Uri? = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + applicationContext.packageName + "/" + R.raw.notif)
val vibrationPattern = longArrayOf(1000, 1000, 1000, 1000, 1000, 1000)
val noisyChannel = NotificationChannel("NOISY_ID", "Noisy Channel", NotificationManager.IMPORTANCE_HIGH)
noisyChannel.enableLights(true)
noisyChannel.enableVibration(true)
noisyChannel.lightColor = Color.RED
noisyChannel.setShowBadge(true)
noisyChannel.setSound(sound, attributes)
noisyChannel.setBypassDnd(true)
noisyChannel.enableVibration(true)
noisyChannel.lockscreenVisibility = VISIBILITY_PUBLIC
noisyChannel.setShowBadge(true)
noisyChannel.vibrationPattern = vibrationPattern
notificationManager.createNotificationChannel(noisyChannel)