Различия между различными типами трансляций в android

Я немного смущен документацией о различных типах отправки трансляций в Android. Например, есть sendStickyBroadcast() , sendBroadcast() , sendOrderedBroadcast() и sendStickyOrderedBroadcast() .

В чем разница между липкой, обычной и упорядоченной трансляцией?

Solutions Collecting From Web of "Различия между различными типами трансляций в android"

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

Заказываемая трансляция похожа на передачу заметки – она ​​переходит от человека / приложения к человеку / приложению. В любом месте в цепочке получатель может выбрать отмену трансляции, не позволяя остальной цепочке видеть ее.

Нормальная трансляция .. ну, просто посылает всем, кто разрешен и зарегистрирован для прослушивания.

Существует несколько вариантов трансляций, которые позволяют прослушивать только приемники, зарегистрированные в запущенном приложении, то есть приемник в вашем AndroidManifest.xml не будет запускаться для этих намерений.

Обычные трансляции : -Нормальные трансляции (отправленные с помощью Context.sendBroadcast) полностью асинхронны. Все приемники широковещательной передачи выполняются в неопределенном порядке, часто в одно и то же время. Это более эффективно, но означает, что приемники не могут использовать результат или прервать API, включенные здесь.

Заказываемые трансляции : – упорядоченное вещание – это тип широковещательной передачи, который отправляется синхронно, то есть один за другим для каждого слушателя.

Метод Android sendOrderedBroadcast попадает в класс Context для Android, цель этого метода – трансляция на прослушивающие приемники сериализованным образом и получение результата обратно к вызывающей активности. Я долго искал что-то вроде Android sendOrderedBroadcast, но не смог его найти. Другим ключевым преимуществом sendOrderedBroadcast является то, что мы можем установить приоритет BroadcastReceiver. Таким образом, все BroadcastReceivers, прослушивающие эту конкретную трансляцию, получат эту конкретную передачу в упорядоченном виде. Теперь, когда мы получаем широковещательные сообщения упорядоченным способом, может существовать случай, когда вы хотите прервать поток приемников, угадать, что даже это можно сделать, abortBroadcast ().

Приличные трансляции : – Липкая трансляция – это трансляция, которая продолжается после того, как будет объявлена ​​система. Большинство трансляций отправляются, обрабатываются в системе и становятся быстро недоступными. Тем не менее, Sticky Broadcasts объявляет информацию, которая остается доступной за пределами точки, в которой они обрабатываются. Типичным примером является уровень вещания батареи. В отличие от большинства трансляций, уровень заряда батареи можно получить в приложениях за пределами точки, в которой он был отправлен через систему. Это означает, что приложения могут узнать, какой была последняя передача на уровне батареи.