在我的应用中,我创建了一个频道来显示带有自定义声音的自定义通知。在大多数手机上都可以正常工作。但是我在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)