Способы отправки броадкастов в Android
Всего существует три способа отправить броадкаст.
- Использовать метод sendOrderedBroadcast(). При отправке броадкаста таким способом, он отправится последовательно по всем ресиверам, не больше чем к одному ресиверу одновременно. Причем каждый из ресиверов может либо распространить броадкаст дальше, либо не отправлять его остальным ресиверам. Приоритет, в котором ресиверы получают броадкаст настраивается параметром priority объекта intent-filter. Если же у двух или нескольких ресиверов стоит одинаковый приоритет, то они получат броадкаст в случайном порядке.
- Использовать метод sendBroadcast(). При отправке броадкаста таким способом ресиверы получают броадкаст в неопределенном порядке. Это эффективнее с точки зрения быстродействия, но не позволяет ресиверам читать данные от других ресиверов, распространять броадкаст дальше или же прерывать отправку броадкаста.
- Использовать метод LocalBroadcastManager.sendBroadcast(). Если вы отправите броадкаст таким способом, то его получат только ресиверы из того же приложения, что и отправило броадкаст. Такой способ самый эффективный, так что если в приложении не нужно обмениваться сообщениями с другими приложениями, то будет лучше использовать именно этот способ. К тому же не придется переживать о безопасности, связанной с возможностью другими приложениями читать или отправлять ваш броадкаст.
Готовьтесь к работе в команде
Обучающая платформа AndroidSprint
Освойте Agile, Scrum и Kanban. Поймёте, как устроены процессы в IT-командах — придёте на работу подготовленным
- Методологии: Agile и Scrum — как организованы спринты и роли в команде
- Инструменты: Jira, Git Flow, код-ревью — что используют в продакшене
- Результат: понимаете процессы и готовы к работе в IT-команде