>> Technologie Électronique >  >> Téléphones portables et accessoires >> Smartphones

Android : Qu'est-ce qu'un "Sticky Broadcast" ?

Un « sticky broadcast » (diffusion persistante) est un outil de communication entre applications Android. L'OS Android traite normalement chaque application comme un utilisateur distinct ; les programmes s'exécutent indépendamment et isolés, sur des machines virtuelles séparées, n'utilisant que les composants téléphone nécessaires. Cela assure une sécurité forte, mais parfois les apps doivent partager des informations. Les sticky broadcasts sont une solution.

Broadcasts (Diffusions)

Les broadcasts sont des annonces envoyées aux applications Android. Quand la batterie est faible ou l'écran s'éteint, une annonce est envoyée à toutes les applications. L'OS initie la plupart des broadcasts, mais des apps individuelles peuvent aussi le faire. Si une app reçoit des données accessibles à d'autres, elle les contacte et les informe. Pour atteindre les apps, l'annonce doit d'abord passer par un « broadcast receiver » (récepteur de diffusion), un composant d'application qui gère les messages, généralement sans notifier l'utilisateur.

Intents (Intentions)

À cause de la séparation imposée par Android entre ses apps, une app ne peut pas contacter directement le broadcast receiver d'une autre. À la place, l'app notifie le téléphone Android avec un Intent. Un Intent est un message pour activer une app ou un de ses composants (ex: le receiver). L'Intent définit simplement le message à diffuser — batterie faible, ou demande d'accès à une photo.

Sticky Broadcasts

Un broadcast normal atteint son receiver puis se termine. Un sticky broadcast persiste pour notifier d'autres apps si elles ont besoin de la même info — ex: batterie maintenant chargée. Quand vous enregistrez une nouvelle app ayant besoin de l'info, ou qu'une app inactive se réactive, le sticky broadcast communique avec le receiver. Un sticky broadcast ultérieur avec de nouvelles infos sur le même sujet réécrira le précédent.

Considérations

Une app ne peut envoyer ou supprimer un sticky broadcast que si sa programmation inclut une permission l'autorisant. La sécurité des sticky broadcasts n'est pas aussi stricte que pour les messages non-persistants. Un avantage de l'Intent (sticky ou non) est que vous pouvez spécifier quelles apps le reçoivent, mais ce n'est pas obligatoire. Android détermine les bonnes apps receveuses selon le filtrage programmé par chaque développeur.

Smartphones