Android-Anwendungen werden auf Benutzergeräten mit installiertem Android-Betriebssystem ausgeführt, einschließlich mobiler Geräte wie Smartphones, Tablets und Laptops. Viele Unternehmen zielen auf das Android-System mit Apps für den Einzelhandel und andere kommerzielle Dienste ab. Abhängig vom Zweck einer App kann das Empfangen von Systemübertragungen eine wesentliche Aufgabe für den Programmierer sein. Sticky Broadcasts sind eine bestimmte Kategorie von Android-System-Broadcasts und können in jeder Anwendung verwendet werden. Sendungen sind häufig besonders relevant für Apps mit Android-Diensten.
Sendungen
Das Android-System verwendet Broadcasts, um Informationen an Anwendungen zu übermitteln. Einige Broadcasts werden von Android-Apps gesendet, aber viele der am häufigsten verwendeten Broadcasts werden vom System selbst gesendet. Allgemeine Broadcasts enthalten allgemeine Informationen zum System, die möglicherweise für viele der Anwendungen relevant sind, die möglicherweise auf dem System ausgeführt werden. Beispielsweise kann eine Sendung anzeigen, dass der Akkuladestand niedrig ist oder dass der Bildschirm des Benutzers abgelaufen und ausgeschaltet ist. Durch den Empfang dieser Broadcasts können Apps darauf reagieren und bei Bedarf Aufgaben ausführen, um den normalen Betrieb aufrechtzuerhalten.
Sticky Broadcasts
Eine Sticky-Sendung ist eine Sendung, die nach dem Moment, in dem sie dem System angekündigt wird, verfügbar bleibt. Die meisten Broadcasts werden im System gesendet, verarbeitet und sind schnell nicht mehr zugänglich. Sticky Broadcasts kündigen jedoch Informationen an, auf die über den Zeitpunkt ihrer Verarbeitung hinaus zugegriffen werden kann. Ein typisches Beispiel ist der Batteriestand Broadcast. Im Gegensatz zu den meisten Broadcasts kann der Akkuladestand in Anwendungen abgerufen werden, die über den Punkt hinausgehen, an dem er über das System gesendet wurde. Dies bedeutet, dass Apps herausfinden können, was der letzte Broadcast mit Batteriestand war.
Empfänger
Android-Apps verwenden Broadcast-Empfänger, um die Informationen in System-Broadcasts zu erkennen und zu verarbeiten. Entwickler, die an Android-Apps arbeiten, erstellen Java-Klassen, die die übergeordnete Broadcast Receiver-Klasse mithilfe der Java-Vererbung erweitern. Auf diese Weise können Programmierer Methoden implementieren, mit denen sie auf Broadcast-Informationen zugreifen können, und das Verhalten einer App an den Status des Systems oder an den Status anderer Prozesse in der App selbst anpassen.
Verwendung
Viele Android-Anwendungen empfangen Sticky- und andere Broadcasts, die häufig in Verbindung mit Android Services verwendet werden. Ein Service ist ein Prozess, der im Hintergrund ausgeführt wird und manchmal bestimmte Verarbeitungsstufen in zeitlichen Intervallen ausführt. Wenn ein Dienst gestartet wird, muss er möglicherweise den Status des Systems mithilfe eines Sticky Broadcast überprüfen. Beispielsweise kann eine App, die den Batteriestand des Geräts in bestimmten Intervallen anzeigt, den letzten Batteriestand des Broadcasts mithilfe des Sticky Broadcast überprüfen und die Anzeige für den Benutzer aktualisieren.
Anforderungen:
Android-Apps, die Sticky Broadcasts verwenden, müssen bestimmte Anforderungen erfüllen. Beim Erweitern der Broadcast Receiver-Klasse können Apps vom System gesendete Broadcasts empfangen und die Broadcasts optional aus anderen Klassen senden. Das Aufrufen der „sendStickyBroadcast“ -Methode in einer App führt zu einer Sticky Broadcast-Nachricht, die im System verbleibt und von anderen Klassen empfangen wird. Apps, die diese Methode verwenden, müssen bestimmte Berechtigungen in ihren Manifest-Dateien enthalten, einschließlich der Berechtigung „BROADCAST_STICKY“. Andernfalls wird bei der Ausführung der App eine Ausnahme ausgelöst.