Kennenlernen von Android-App-Strukturen: Aktivitäten, Fragmente und Broadcast-Empfänger

Beispiele für die Verwendung von Intent in Apps

1. E-Commerce-Anwendungen:

  • Explicit Intent: Beginnt Activity Produktdetails, wenn der Benutzer auf einen Artikel in der Produktliste klickt.
  • Implicit Intent: Teilen Sie Produktdetails mit Social-Media-Apps oder E-Mails.

2. Social-Media-Anwendungen:

  • Explicit Intent: Startet einen Kommentar Activity wenn der Benutzer auf die Schaltfläche “Kommentare anzeigen” klickt.
  • Implicit Intent: Öffnet einen externen Link im Standardbrowser des Benutzers.

3. Musik-Apps:

  • Explicit Intent: Startet Service, um einen Song im Hintergrund abzuspielen.
  • Implicit Intent: Teilen Sie Songs mit anderen Apps wie WhatsApp oder Instagram.

4. Broadcast Receiver: Reagieren auf Systemänderungen

Broadcast Receiver ist eine wesentliche Komponente in einer Android-App, die es Ihrer App ermöglicht, auf Broadcast Intent zu reagieren, die vom Android-System oder anderen Apps gesendet werden. Broadcast Intent ist eine Systemnachricht, die Sie über eine Statusänderung oder ein bestimmtes Ereignis informiert, z. B. eine Änderung des Akkustatus, der Netzwerkverbindung oder eine eingehende SMS-Nachricht.

Durch die Verwendung von Broadcast Receiver können Sie Apps erstellen, die besser auf Änderungen in der Umgebung oder im System reagieren und so eine bessere Benutzererfahrung bieten.

So funktioniert Broadcast Receiver

Broadcast Receiver läuft im Hintergrund und hat keine Benutzeroberfläche. Sie sind so konzipiert, dass sie schnell und effizient auf Broadcast Intent reagieren. Hier sind einige wichtige Punkte zur Funktionsweise von Broadcast Receiver:

1. Anmeldung:

  • Broadcast Receiver müssen auf dem Android-System registriert sein, um auf Broadcast Intent zu antworten.
  • Die Registrierung kann entweder statisch (über AndroidManifest.xml) oder dynamisch (über Programmcode) erfolgen.

Beispiel für eine statische Registrierung in AndroidManifest.xml:

   <receiver android:name=“.MyBroadcastReceiver”>
    <intent-filter>
  <action android:name=“android.intent.action.BATTERY_LOW” />
  </intent-filter>
  </receiver>

Beispiel für die dynamische Registrierung im Code:

   IntentFilter filter  new IntentFilter(Intent.ACTION_BATTERY_LOW);
    MyBroadcastReceiver receiver   new MyBroadcastReceiver();
   registerReceiver(receiver, filter);

2. Begrenzte Ausführungszeit:

  • Broadcast Receiver hatten nur etwa 5 Sekunden  Zeit, um die Aufgabe zu erledigen.
  • Wenn eine Aufgabe länger dauert, z. B. das Herunterladen von Daten oder das Verarbeiten von Dateien, empfehlen wir Ihnen, Service zu starten oder WorkManager zu verwenden.

3. Machbare Aufgaben:

  • Benachrichtigungen senden : Benachrichtigen Sie Benutzer über Statusänderungen, z. B. schwache Batterie oder Internetverbindungen.
  • Dienst starten: Starten Sie den Dienst, um Hintergrundaufgaben auszuführen, z. B. die Datensynchronisierung.
  • Daten aktualisieren: Aktualisieren Sie lokale Daten oder senden Sie Daten an einen Server.

Arten von Broadcast Intent

Broadcast Intent kann in zwei Typen unterteilt werden:

1. Normal Broadcast:

  • Asynchron an alle registrierten Broadcast Receiver gesendet.
  • Beispiel: ACTION_BOOT_COMPLETED (wird gesendet, wenn das Gerät den Bootvorgang abgeschlossen hat).

2. Ordered Broadcast:

  • Wird nacheinander an jeweils einen Broadcast Receiver gesendet.
  • Broadcast Receiver können die Ergebnisse ändern oder die Ausbreitung von Broadcast Intent stoppen.
  • Beispiel: ACTION_NEW_OUTGOING_CALL (wird gesendet, wenn ein Benutzer einen ausgehenden Anruf tätigt).

Beispiele für die Verwendung von Broadcast-Empfängern

1. Reagieren auf Batteriewechsel:

  • Broadcast  Receiver können erkennen, wenn der Akku des Geräts schwach ist (ACTION_BATTERY_LOW) oder aufgeladen wird (ACTION_BATTERY_OKAY).
  • Beispiel: Senden einer Benachrichtigung an den Benutzer, wenn der Akku schwach ist.

Neueste Artikel