Создаём уведомления в Android. Часть 2. Используем звук и вибрацию

В первой статье мы рассмотрели базовые функции по работе с уведомлениями. Сегодня мы поговорим об использовании с уведомлениями звуковых сигналов и вибрации.

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

Звук и вибрация по умолчанию

Есть два способа использовать звук и вибрацию по умолчанию.

Первый способ состоит в использовании свойства defaults объекта Notification в сочетании с соответствующими константами.

Но, этот способ на данный момент является устаревшим и несмотря на то, что он всё ещё поддерживается, применять его в приложениях, которые поддерживают последние версии SDK не рекомендуется.

Вместо этого нужно использовать метод shouldVibrate и свойство sound (в Java метод getSound) объекта NotificationChannel.

Собственные звуковые файлы

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

Для воспроизведения также существует два способа.

Старый, использующий свойство sound объекта Notification.

И новый.

Здесь необходимо передать в метод setSound объекта NotificationChannel URI файла и соответствующие атрибуты воспроизведения (объект AudioAttributes).

В примере выше используется стандартный звуковой сигнал уведомления, но можно использовать и собственный файл. Нужно только знать его точный адрес в файловой системе.

Собственные настройки вибрации

Для использования вибрации в приложении нужно получить соответствующие права. Добавляем в манифест:

После этого можно использовать вибрацию.

Рассмотрим пример, в котором вибрация сменяется паузой в течение трёх секунд.

Как мы видим длительность включения вибрации и паузы определяется массивом типа long. Данный массив передаётся свойству vibration объекта Notification и служит в качестве параметров настройки вибрации при уведомлении.

Приведённый выше пример, реализует уже устаревший способ настройки вибрации. В настоящее время рекомендуется использовать свойство vibrationPattern и метод enableVibration объекта NotificationChannell, как показано ниже:

Важно

  • Все настройки звука и вибрации следует выполнить до публикации уведомления (т.е. до вызова метода notify объекта NotificationManager);
  • На некоторых устройствах могут работать только стандартные звуковые сигналы и вибрация. В этом случае Ваши собственные настройки будут заменены стандартными.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *