Eine Sticky-Sendung ist ein Tool, mit dem Android-Entwickler zwischen Apps kommunizieren. Diese Sendungen erfolgen ohne Benachrichtigung des Benutzers. Das Android-Betriebssystem behandelt normalerweise jede Anwendung so, als wäre es ein separater 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 einer strengen Sicherheit, aber manchmal müssen Apps Informationen austauschen. Sticky Broadcasts sind eine Lösung, um Informationen von einer App zur anderen zu übertragen.

Sendungen

Sendungen sind Ankündigungen, die an Android-Apps gesendet werden. Dies geschieht, ohne dass der Benutzer davon Kenntnis hat. Das Android-Betriebssystem initiiert die meisten Sendungen, aber auch einzelne Apps können senden. Wenn beispielsweise der Akku fast leer ist oder sich der Bildschirm ausschaltet, wird eine Ansage an alle Anwendungen gesendet. Wenn eine App Daten empfängt, die anderen Anwendungen zur Verfügung stehen, werden sie darüber informiert. Damit die Ankündigung die Apps erreicht, muss sie zuerst an einen Broadcast-Empfänger gesendet werden, eine Komponente in der App, die Broadcast-Nachrichten verarbeitet.

Android-Absichten

Aufgrund der Trennung, die Android zwischen seinen verschiedenen Apps vorschreibt, werden alle Sendungen über das Betriebssystem übertragen. Eine App kann den Broadcast-Empfänger einer anderen App nicht direkt kontaktieren. Wenn eine App eine Sendung senden möchte, benachrichtigt sie das Betriebssystem mit einer Absicht. Eine Absicht ist eine Nachricht, mit der entweder eine App oder eine ihrer Komponenten, z. B. der Empfänger, aktiviert werden soll. Die Absicht definiert einfach die Nachricht, die gesendet werden soll - zum Beispiel, dass der Akku fast leer ist, oder um 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 endet dann. Eine Sticky-Sendung bleibt in der Nähe, sodass andere Apps benachrichtigt werden können, wenn sie dieselben Informationen benötigen - beispielsweise, dass der Akku jetzt vollständig aufgeladen ist. Wenn Sie eine neue App registrieren, die die Informationen kennen muss, oder wenn eine inaktive App gestartet wird, wird die Sticky-Sendung an den Empfänger der neuen App gesendet. Eine neue Sticky-Sendung mit aktualisierten Informationen zum gleichen Thema schreibt eine frühere Sticky-Sendung neu.

Überlegungen

Eine App kann eine Sticky-Sendung nur senden oder entfernen, wenn ihre Programmierung eine Berechtigung zum Autorisieren von Stickies enthält. Die Sicherheit bei klebrigen Sendungen ist nicht so hoch wie bei nicht klebrigen Nachrichten. Jede App kann möglicherweise das Sticky einer anderen App überschreiben. Eines der guten Dinge bei der Verwendung einer Absicht, ob klebrig oder nicht, ist, dass Sie zwar angeben können, welche Apps Sie erhalten möchten, dies aber nicht müssen. Ihr Android bestimmt die richtigen Apps für den Empfang Ihrer Sendung, basierend auf der Filterung, die der Programmierer in jede App integriert hat.