г. Москва, Милютинский пер., д.8, стр.2 Тел.: 8 (495) 999-70-33 |
|
|
Время работы: пн.-пт. с 9:00-21:00 сб.-вс. с 11:00-17:00 |
|
|
Широковещательные приемники и длительно выполняющиеся службы
Уже были представлены активности, поставщики контента и службы. Мы еще не останавливались подробно на широковещательных приемниках. Здесь будет показано, как вызывать один и несколько широковещательных приемников. Мы также исследуем размещение широковещательных приемников в процессах за пределами клиентских процессов. Будет показано, как широковещательный приемник выдает уведомления.
Мы поговорим о 10-секундном лимите ожидания ответа широковещательного приемника, прежде чем система выдаст сообщение “приложение не отвечает” (Application Not Responding — ANR), и предложим известные механизмы решения этой проблемы. Мы разработаем инфраструктуру, с помощью которой можно начать просматривать длительно выполняющуюся службу в качестве специальной абстракции широковещательной службы, и, наконец, рассмотрим блокировки пробуждения в контексте длительно выполняющихся служб. Возможно вам понадобится ремонт телефонов в ростове.
В коде, приведенном в листинге 19.1, действие — это произвольный идентификатор, подходящий для существующих потребностей. Чтобы сделать эту строку действия уникальной, можно использовать пространство имен, подобное применяемым для классов Java. Хотя намерение создается совершенно одинаково для вызова службы, активности и широковещательного приемника, использование этого намерения уникально для каждого из этих применений. Например, широковещательные намерения хранятся в пуле, отличном от пула, используемого для намерений активности. Теперь посмотрим, как можно отреагировать на это широковещательное намерение.