Способы отправки броадкастов в Android

Всего существует три способа отправить броадкаст.

  1. Использовать метод sendOrderedBroadcast(). При отправке броадкаста таким способом, он отправится последовательно по всем ресиверам, не больше чем к одному ресиверу одновременно. Причем каждый из ресиверов может либо распространить броадкаст дальше, либо не отправлять его остальным ресиверам. Приоритет, в котором ресиверы получают броадкаст настраивается параметром priority объекта intent-filter. Если же у двух или нескольких ресиверов стоит одинаковый приоритет, то они получат броадкаст в случайном порядке.
  2. Использовать метод sendBroadcast(). При отправке броадкаста таким способом ресиверы получают броадкаст в неопределенном порядке. Это эффективнее с точки зрения быстродействия, но не позволяет ресиверам читать данные от других ресиверов, распространять броадкаст дальше или же прерывать отправку броадкаста.
  3. Использовать метод LocalBroadcastManager.sendBroadcast(). Если вы отправите броадкаст таким способом, то его получат только ресиверы из того же приложения, что и отправило броадкаст. Такой способ самый эффективный, так что если в приложении не нужно обмениваться сообщениями с другими приложениями, то будет лучше использовать именно этот способ. К тому же не придется переживать о безопасности, связанной с возможностью другими приложениями читать или отправлять ваш броадкаст.
Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *