Sobes.tech
Junior

Was bedeutet die Exportflagge?

sobes.tech KI

Antwort von AI

Das exported-Flag im Android-Manifest (AndroidManifest.xml) bestimmt, ob eine Komponente der Anwendung (Aktivität, Dienst, Empfänger, Anbieter) von anderen Anwendungen auf dem Gerät zugänglich ist.

  • android:label="MeineAktivität" - Name der Komponente, die dem Benutzer angezeigt wird.
  • android:name=".MeineAktivität" - Vollqualifizierter Klassenname der Komponente.
  • android:exported="true" - Die Komponente ist für andere Anwendungen zugänglich.
  • android:exported="false" - Die Komponente ist für andere Anwendungen nicht zugänglich.

Standardmäßig:

  • Eine Aktivität mit android:intent-filter hat exported="true".
  • Ein Service/Empfänger mit android:intent-filter hat exported="true".
  • Komponenten ohne android:intent-filter haben exported="false".

Die Verwendung von exported="true" ohne angemessenen Schutz (z.B. Berechtigungen) kann Sicherheitslücken schaffen, die es Angreifern ermöglichen, auf Daten zuzugreifen oder schädliche Aktionen auszuführen. Geben Sie immer explizit exported="false" an, wenn die Komponente nicht für die Nutzung durch andere Anwendungen bestimmt ist.