NotificationChannel setЗвук и вибрация не работают - PullRequest
1 голос
/ 16 мая 2019

У меня проблема с воспроизведением звука, когда приходит уведомление, показывается уведомление, но нет звука или вибрации, я видел много вопросов и ответов о том, как установить звук и вибрацию для каналов уведомлений, но это не так. это работает, вот как я пытаюсь это

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 Ответ

1 голос
/ 17 мая 2019

Кажется, когда канал уведомлений создается в первый раз, затем он не обновляется автоматически, если что-то изменилось, как в моем случае, сначала я запустил канал уведомлений без звука и вибрации.

Решение: Очистить данные приложения или просто удалить приложение, после этого оно заработало правильно

...