Android: qu’est-ce que Sticky Broadcast?

Les applications Android s'exécutent sur les appareils des utilisateurs avec le système d'exploitation Android installé, y compris les appareils mobiles tels que les smartphones, les tablettes et les ordinateurs portables. De nombreuses entreprises ciblent le système Android avec des applications pour la vente au détail et d'autres services commerciaux. Selon l'objectif d'une application, la réception des diffusions du système peut être une tâche essentielle pour le programmeur. Les émissions rémanentes sont une catégorie particulière de diffusions système Android et peuvent être utilisées dans n'importe quelle application. Les diffusions sont souvent particulièrement pertinentes pour les applications impliquant les services Android.

Diffusions

Le système Android utilise des diffusions pour transmettre des informations aux applications. Certaines diffusions sont envoyées par des applications Android, mais la plupart des diffusions les plus couramment utilisées sont envoyées par le système lui-même. Les diffusions courantes indiquent des informations générales sur le système qui sont potentiellement pertinentes pour de nombreuses applications qui peuvent être exécutées sur celui-ci. Par exemple, une diffusion peut indiquer que le niveau de la batterie est faible ou que l'écran de l'utilisateur a expiré et s'est éteint. En recevant ces diffusions, les applications peuvent y répondre et, si nécessaire, effectuer des tâches pour maintenir un fonctionnement normal.

Diffusions collantes

Une diffusion rémanente est une diffusion qui reste autour du moment où elle est annoncée au système. La plupart des diffusions sont envoyées, traitées dans le système et deviennent rapidement inaccessibles. Cependant, Sticky Broadcasts annonce des informations qui restent accessibles au-delà du moment où elles sont traitées. Un exemple typique est le niveau de batterie Broadcast. Contrairement à la plupart des diffusions, le niveau de la batterie peut être récupéré dans les applications au-delà du point auquel il a été envoyé via le système. Cela signifie que les applications peuvent savoir quel que soit le dernier niveau de batterie diffusé.

Récepteurs

Les applications Android utilisent des récepteurs de diffusion pour détecter et traiter les informations dans les diffusions système. Les développeurs travaillant sur des applications Android créent des classes Java étendant la classe de récepteur de diffusion parente à l'aide de l'héritage Java. Cela permet aux programmeurs d'implémenter des méthodes dans lesquelles ils peuvent accéder aux informations de diffusion, en adaptant le comportement d'une application à l'état du système ou à l'état d'autres processus au sein de l'application elle-même.

Les usages

De nombreuses applications Android reçoivent Sticky et d'autres diffusions, qui sont souvent utilisées en conjonction avec les services Android. Un service est un processus qui se déroule en arrière-plan, effectuant parfois des étapes de traitement particulières à des intervalles de temps. Lorsqu'un service démarre, il peut être nécessaire de vérifier l'état du système à l'aide d'une diffusion rémanente. Par exemple, une application qui affiche le niveau de batterie de l'appareil à des intervalles spécifiés peut vérifier le dernier niveau de batterie de diffusion à l'aide du Sticky Broadcast, en mettant à jour son affichage pour l'utilisateur.

Nos Exigences

Les applications Android utilisant Sticky Broadcasts doivent remplir certaines conditions. Lors de l'extension de la classe Broadcast Receiver, les applications peuvent recevoir des diffusions envoyées par le système et peuvent éventuellement envoyer les diffusions à partir d'autres classes. L'appel de la méthode "sendStickyBroadcast" dans une application provoquera un message de diffusion rémanente qui restera dans le système pour être reçu par d'autres classes. Les applications utilisant la méthode doivent inclure certaines autorisations dans leurs fichiers Manifest, y compris l'autorisation "BROADCAST_STICKY"; sinon, une exception est levée lorsque l'application s'exécute.