Главная » Разработка для Android » Продвинутые способы работы с уведомлениями

0

В следующих разделах  вы узнаете, как улучшить  уведомления, чтобы обеспечить  дополнительные возможности по оповещению  пользователя с помощью аппаратных средств, в частности звонка, светодиодов  и вибра- ции.

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

ПРИМЕЧАНИЕ

Для использования описанных в разделе методов отмените уведом- ление сразу после вызова, не показывая при этом значок в статусной строке, что позволит не выводить значок на экран, но никак не повлияет на другие действия.

Использование настроек по умолчанию

Самый простой и логичный способ добавить вибрацию, звуковой сигнал или мерцание светодиодами  для ваших уведомлений — использование на- строек по умолчанию. В свойстве defaults вы можете сочетать константы:

Notification.DEFAULT_LIGHTS;

Notification.DEFAULT_SOUND;

Notification.DEFAULT_VIBRATE.

В следующем фрагменте  кода к уведомлению  добавляются звук и ви- брации по умолчанию:

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

Если хотите установить все значения по умолчанию, задействуйте кон- станту Notification.DEFAULT_ALL.

Звуковое  сопровождение

Использование звуковых  оповещений  для уведомления пользователя о событиях, связанных с устройством (таких как входящий звонок), — метод, который появился задолго до мобильных  телефонов  и выдержал  испыта- ние временем. Большинство стандартных  событий,  от входящих  звонков до новый сообщений  и низкого  заряда  батареи, объявляются с помощью звуковых мелодий.

Android позволяет проигрывать любой звуковой файл на телефоне в ка- честве уведомления. Чтобы это сделать, нужно присвоить  свойству  sound путь URI, как показано в следующем фрагменте:

notification.sound = ringURI;

Для применения собственного звукового файла загрузите его на устрой- ство или добавьте в проект в качестве ресурса, как описано в главе 11.

Следующий фрагмент кода может быть отправлен в метод announ- ceNewQuake,  принадлежащий Сервису EarthquakeService из ранее рассмо- тренного примера. Он добавляет  звуковую  составляющую в уведомления о землетрясениях, проигрывая телефонный рингтон  по умолчанию,  если приходит информация о крупном землетрясении (магнитуда которого боль- ше 6):

if (quake.getMagnitude() > 6) { Uri ringURI =

RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

newEarthquakeNotification.sound = ringURI;

}

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии