Android: что такое Sticky Broadcast?

Прикрепленная трансляция - это инструмент, который разработчики Android используют для связи между приложениями. Эти трансляции происходят без уведомления пользователя. ОС Android обычно обрабатывает каждое приложение как отдельного пользователя. Приложения работают независимо и изолированно на отдельных виртуальных машинах, используя только те аппаратные компоненты, которые им необходимы для работы. Это ведет к усилению безопасности, но иногда приложениям необходимо обмениваться информацией, липкие широковещательные рассылки - одно из решений для передачи информации из одного приложения в другое.

Трансляции

Трансляции - это объявления, отправляемые в приложения для Android. Это происходит без ведома пользователя. Операционная система Android инициирует большинство трансляций, но отдельные приложения тоже могут транслировать. Например, при низком заряде батареи или выключении экрана объявление выходит во все приложения. Если приложение получает данные, доступные другим приложениям, оно сообщит им об этом. Чтобы объявление дошло до приложений, оно должно сначала поступить на приемник широковещательной рассылки, компонент в приложении, который обрабатывает широковещательные сообщения.

Видео дня

Намерения Android

Из-за разделения, которое Android устанавливает между различными приложениями, все трансляции проходят через операционную систему. Приложение не может напрямую связываться с широковещательным приемником другого приложения. Когда приложение действительно хочет отправить широковещательную рассылку, оно уведомляет операционную систему о намерении. Намерение - это сообщение для активации приложения или одного из его компонентов, например получателя. Intent просто определяет сообщение, которое будет транслироваться, например, о том, что батарея разряжена, или запросить доступ к фотографии на вашем телефоне.

Прикрепленные трансляции

Обычная трансляция достигает получателя, для которого предназначена, а затем завершается. Прикрепленная трансляция остается неизменной, чтобы можно было уведомить другие приложения, если им нужна та же информация - например, о том, что аккумулятор теперь полностью заряжен. Когда вы регистрируете новое приложение, которому необходима информация, или когда запускается неактивное приложение, липкая трансляция будет отправлена ​​на приемник нового приложения. Новая прикрепленная трансляция с обновленной информацией по той же теме перезапишет ранее прикрепленную трансляцию.

Соображения

Приложение может отправлять или удалять прикрепленные сообщения только в том случае, если его программа включает в себя разрешение, разрешающее прикрепление сообщений. Защита липких рассылок не такая строгая, как у не липких сообщений. Любое приложение потенциально может перезаписать липкий файл другого приложения. Одно из преимуществ использования намерения, будь то липкое или нет, заключается в том, что, хотя вы можете указать, какие приложения вы хотите его получать, вам это не обязательно. Ваш Android определяет, какие приложения должны принимать вашу трансляцию, на основе фильтрации, встроенной в каждое приложение его программистом.