android P通知频道音效

android P notification channel sound

当我们将目标 sdk 从 27 更改为 28 时,推送通知出现问题。 我们仍然收到它们,但是没有声音,也没有我们的振动模式。

audioAttribute = AudioAttributes.Builder()
            .setUsage(AudioAttributes.USAGE_MEDIA)
            .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
            .build() 
channel.setSound(Uri.parse("android.resource://" + packageName + "/" + R.raw.annoying_alert), audioAttribute)

当我改回目标版本时,问题就消失了。

最后我们意识到通道是不可变的,之后无法修改它们。因此,原始声音的 R 文件 link 已更改,无法修复此问题。 只有两个解决方案

  • 创建一个新的通知渠道并link声音直接link到文件
  • 只是不要更新目标版本(它应该保留对 R 文件的引用)