27
Чтобы запустить сервис или доставить новые инструкции
работающему сервису, необходимо передать объект-намерение в
метод Context.startService(). Также объект-намерение может быть передан в
метод Context.bindService(), чтобы связать между собой вызывающий
компонент и сервис.
Чтобы доставить объект-намерение всем заинтересованным
приемникам широковещательных сообщений,
необходимо передать его в
любой
из
широковещательных
методов:Context.sendOrderedBroadcast(), Context.sendStickyBroadcast(), Contex
t.sendBroadcast().
В каждом случае система
Android в ответ на намерение находит
соответствующий
компонент:
активность,
сервис
или
множество
широковещательных приемников и запускает его если необходимо. В этой
системе сообщений не случается накладок: сообщение-намерение,
отправленное
определенному компоненту, будет получено именно этим
компонентом и никем другим.
Рис. 2.3. Передача намерений (Intent)
На рис. 3.3 можно увидеть как происходит передача намерений (Intent), в
данном случае одна
активность запускает другую. [6]
Активность А создает
намерение (Intent) с описанием действия и передает его в метод startActivity().
[7] Система
Android проверяет все приложения на совпадение с намерением,
когда
совпадение
найдено,
[8]
система
запускает
соответствующую
активность, для чего вызывает метод onCreate() и передает
в него
объект-намерение Intent.
Подробнее о классе Intent:
http://developer.android.com/guide/components/intents-
filters.html,
http://developer.android.com/reference/android/content/Intent.
html
Пришло время более серьезно рассмотреть основные компоненты:
активности, сервисы, контент-провайдеры,
приемники широковещательных
сообщений. В первую
очередь нас будет интересовать
жизненный цикл этих
компонентов. Что же такое этот
жизненный цикл?
Жизненный цикл можно
28
рассматривать, как процесс функционирования компонента: начиная с
момента
создания и запуска, включая
активный и неактивный периоды
работы, и, заканчивая уничтожением и освобождением ресурсов.
Достарыңызбен бөлісу: