Ein Sticky Broadcast ist ein Werkzeug, das Android-Entwickler für die Kommunikation zwischen Apps verwenden. Diese Übertragungen erfolgen, ohne dass der Benutzer benachrichtigt wird. Das Android-Betriebssystem behandelt normalerweise jede Anwendung wie einen separaten Benutzer. Apps werden unabhängig und isoliert auf separaten virtuellen Maschinen ausgeführt und verwenden nur die Hardwarekomponenten, die sie für ihre Funktion benötigen. Dies führt zu strenger Sicherheit, aber manchmal müssen Apps Informationen austauschen. Sticky Broadcasts sind eine Lösung, um Informationen von einer App zur anderen zu übertragen.
Sendungen
Broadcasts sind Ankündigungen, die an Android-Apps gesendet werden. Diese passieren, ohne dass der Nutzer sich dessen bewusst ist. Das Android-Betriebssystem initiiert die meisten Übertragungen, aber auch einzelne Apps können übertragen. Wenn beispielsweise der Akku schwach wird oder sich der Bildschirm ausschaltet, geht eine Ansage an alle Anwendungen. Wenn eine App Daten erhält, die anderen Anwendungen zur Verfügung stehen, informiert sie diese. Damit die Ansage die Apps erreicht, muss sie zuerst zu einem Broadcast-Empfänger gehen, einer Komponente in der App, die Broadcast-Nachrichten verarbeitet.
Video des Tages
Android Absichten
Aufgrund der Trennung, die das Android zwischen seinen verschiedenen Apps auferlegt, laufen alle Sendungen über das Betriebssystem. Eine App kann den Broadcast-Empfänger einer anderen App nicht direkt kontaktieren. Wenn eine App einen Broadcast senden möchte, benachrichtigt sie das Betriebssystem mit einer Absicht. Ein Intent ist eine Nachricht, um entweder eine App zu aktivieren oder eine ihrer Komponenten, wie beispielsweise den Empfänger, zu aktivieren. Der Intent definiert einfach die Nachricht, die gesendet werden soll – zum Beispiel, dass der Akku fast leer ist, oder den Zugriff auf ein Foto auf Ihrem Telefon anzufordern.
Sticky Broadcasts
Eine normale Sendung erreicht den Empfänger, für den sie bestimmt ist, und wird dann beendet. Ein Sticky Broadcast bleibt hängen, damit er andere Apps benachrichtigen kann, wenn diese die gleichen Informationen benötigen – zum Beispiel, dass der Akku jetzt vollständig geladen ist. Wenn Sie eine neue App registrieren, die die Informationen benötigt, oder wenn eine inaktive App gestartet wird, wird der Sticky Broadcast an den Empfänger der neuen App gesendet. Eine neue Sticky-Broadcast mit aktualisierten Informationen zum gleichen Thema schreibt eine frühere Sticky-Broadcast um.
Überlegungen
Eine App kann nur dann einen Sticky Broadcast senden oder entfernen, wenn seine Programmierung eine Erlaubnis enthält, die Stickies autorisiert. Die Sicherheit bei Sticky Broadcasts ist nicht so hoch wie bei nicht klebrigen Nachrichten. Jede App kann potenziell den Sticky einer anderen App überschreiben. Einer der guten Dinge bei der Verwendung eines Intents, ob klebrig oder nicht, ist, dass Sie zwar angeben können, welche Apps Sie erhalten möchten, dies jedoch nicht müssen. Ihr Android bestimmt die richtigen Apps, um Ihre Übertragung zu empfangen, basierend auf der Filterung, die vom Programmierer in jede App integriert wurde.