Пользовательский звук уведомлений Android в настройках системного приложения - PullRequest
0 голосов
/ 21 декабря 2018

Раньше я использовал собственный звук для уведомлений, сохраненных в res/raw.Требуется не разрешать другому приложению использовать этот звук.

С помощью каналов уведомлений Android 8 мне удалось обойти проблему с перенаправлением пользователя из системных уведомлений в настройки приложений, откуда я мог показывать собственный звук.среди других андроида предусмотрены звуки.А когда пользователь изменил звук уведомлений, был создан новый канал уведомлений.

Теперь я перешел на следующий уровень, и мне нужно предоставить этот звук для облачных сообщений Firebase, пока приложение находится в фоновом режиме.

ОБНОВЛЕНИЕ: Мне нужно положиться на высокоприоритетные сообщения и обработчик уведомлений, чтобы сообщение с данными (вероятно) не было для меня решением.

Короче говоря: Могу ли я сделать собственный звук доступным из настроек системного приложения только для моего приложения (включая push-уведомления Firebase)?

1 Ответ

0 голосов
/ 21 декабря 2018

Прежде всего вам необходимо отправлять уведомления полезной нагрузки, чтобы они не отображались автоматически самим Android.Прочитайте этот замечательный пост для получения дополнительной информации об этом.

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

Чтобы сделатьчто вам нужно получить ваш файл из res/raw/ следующим образом:

notification.sound = Uri.parse("android.resource://com.my.package/" + R.raw.notification_sound);

, где com.my.package необходимо заменить именем вашего пакета.Если это не работает, попробуйте установить настройки уведомлений по умолчанию:

notification.defaults = Notification.DEFAULT_LIGHTS | Notification.DEFAULT_VIBRATE;
...