NotificationChannel set声音和振动不起作用

时间:2019-05-16 16:10:43

标签: android kotlin notification-channel

我在播放声音时遇到问题,当出现通知时,通知正在显示,但是没有声音或振动,我看到了很多有关如何将声音和振动设置为通知通道的问题和答案,但是没有。没用,这就是我正在尝试的方式

val pattern = longArrayOf(0, 200, 60, 200)
val chatSound = Uri.parse("${ContentResolver.SCHEME_ANDROID_RESOURCE}://" + context.packageName + "/" + R.raw.chat_alert)
val mBuilder = NotificationCompat.Builder(context, CHANNEL_ID)
  .setSmallIcon(R.mipmap.ic_launcher)
  .setContentTitle(title)
  .setContentText(body)
val mNotificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager

val notification = mBuilder.build()

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
  val mChanel = NotificationChannel(CHANNEL_ID, "test", NotificationManager.IMPORTANCE_HIGH)
  val audioAttributes = AudioAttributes.Builder()
    .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
    .build()
  mChanel.setSound(chatSound, audioAttributes)
  mChanel.enableVibration(true)
  mChanel.enableLights(true)
  mChanel.vibrationPattern = pattern
  mNotificationManager.createNotificationChannel(mChanel)
}
mNotificationManager.notify(i, notification)

我正在为Android Pie测试它

targetSdkVersion 28

1 个答案:

答案 0 :(得分:1)

似乎是在第一次创建通知频道时,如果更改了某些内容(如我的情况),它并不会自动更新,起初,我运行的通知频道没有声音和振动。

解决方案:在应用正常运行后,清除应用数据或将其卸载