Android: Vad är Sticky Broadcast?

En sticky broadcast är ett verktyg som Android-utvecklare använder för att kommunicera mellan appar. Dessa sändningar sker utan att användaren meddelas. Android OS behandlar normalt varje applikation som om det vore en separat användare. Appar körs oberoende och isolerade på separata virtuella maskiner och använder bara de hårdvarukomponenter de behöver för att fungera. Detta leder till sträng säkerhet, men ibland behöver appar dela information, sticky broadcasts är en lösning för att få information från en app till en annan.

Sändningar

Sändningar är meddelanden som skickas till Android-appar. Dessa händer utan att användaren är medveten om dem. Android-operativsystemet initierar de flesta sändningar, men enskilda appar kan också sända. Som ett exempel, när batteriet blir lågt eller skärmen stängs av, går ett meddelande ut till alla applikationer. Om en app tar emot data som är tillgänglig för andra applikationer kommer den att informera dem. För att meddelandet ska nå apparna måste det gå först till en broadcast-mottagare, en komponent i appen som hanterar broadcast-meddelanden.

Dagens video

Android Intents

På grund av åtskillnaden som Android inför mellan sina olika appar går alla sändningar genom operativsystemet. En app kan inte direkt kontakta en annan apps sändningsmottagare. När en app vill skicka en sändning meddelar den operativsystemet med en avsikt. En avsikt är ett meddelande om att antingen aktivera en app eller aktivera en av dess komponenter, till exempel mottagaren. Avsikten definierar helt enkelt meddelandet som är på väg att sändas – att till exempel batterinivån är låg, eller att begära tillgång till ett fotografi på din telefon.

Sticky Broadcasts

En normal sändning når mottagaren den är avsedd för och avslutas sedan. En klibbig sändning stannar kvar så att den kan meddela andra appar om de behöver samma information – till exempel att batteriet nu är fulladdat. När du registrerar en ny app som behöver känna till informationen, eller när en inaktiv app startas, kommer den sticky sändningen att skickas till den nya appens mottagare. En ny klibbig sändning med uppdaterad information om samma ämne kommer att skriva om en tidigare klibbig sändning.

Överväganden

En app kan bara skicka ut en sticky sändning eller ta bort en om dess programmering inkluderar en behörighet som tillåter stickies. Säkerheten på klibbiga sändningar är inte lika hård som på icke-klibbiga meddelanden. Alla appar kan eventuellt skriva över en annan apps sticky. En av de bra sakerna med att använda en avsikt, klibbig eller inte, är att även om du kan ange vilka appar du vill ta emot den, så behöver du inte göra det. Din Android bestämmer de rätta apparna för att ta emot din sändning, baserat på den filtrering som är inbyggd i varje app av dess programmerare.