г. Москва, Милютинский пер., д.8, стр.2 Тел.: 8 (495) 999-70-33 |
|
|
Время работы: пн.-пт. с 9:00-21:00 сб.-вс. с 11:00-17:00 |
|
|
Создание широковещательного приемника довольно просто. Достаточно расширить класс BroadcastReceiver и переопределить метод onReceive(). Затем можно увидеть намерение в приемнике и извлечь из него сообщение.
Если широковещательное намерение в листинге 19.2 не содержит дополнительную часть под названием "message" (сообщение), оно возвратит значение null. Поскольку в рассматриваемом примере известно, что мы устанавливаем эту дополнительную часть, выполнять проверку на наличие значения null не обязательно. После получения дополнительных данных остается только зарегистрировать полученное сообщение. Обратите также внимание в листинге 19.2 на использование метода Utils. logThreadSignature() для записи в журнал потока, который выполняется в коде широковещательного приемника. Метод logThreadSignature() предназначен для фиксации в журнале сигнатуры потока. Возможно вам понадобится изготовление календаря.
Как только код приемника, представленный в листинге 19.2, получен, его нужно зарегистрировать в качестве приемника в файле манифеста. После того как приемник (см. листинг 19.2) создан и зарегистрирован в файле манифеста (см. листинг 19.3), к нему можно обращаться, используя клиентский код, приведенный в листинге 19.1. Мы создали завершенный загружаемый проект, использующий эти концепции. URL-адрес этого проекта указан в разделе “Ссылки” в конце этой главы. Импортируйте и запустите приложение, и вы увидите пункт меню broadcast (широковещательная передача), как показано на рис. 19.1. Щелчок на пункте меню broadcast приводит к вызову TestReceiver, показанному в листинге 19.2, и в LogCat отобразится сообщение "Hello world", которое было загружено активностью в широковещательное намерение.