Sobes.tech
Junior

Co oznacza flaga eksportu?

sobes.tech AI

Odpowiedź od AI

Flaga exported w manifeście Android (AndroidManifest.xml) określa, czy komponent aplikacji (aktywność, serwis, odbiornik, dostawca) może być dostępny dla innych aplikacji na urządzeniu.

  • android:label="MojaAktywnosc" - Nazwa komponentu wyświetlana użytkownikowi.
  • android:name=".MojaAktywnosc" - W pełni kwalifikowana nazwa klasy komponentu.
  • android:exported="true" - Komponent jest dostępny dla innych aplikacji.
  • android:exported="false" - Komponent nie jest dostępny dla innych aplikacji.

Domyślnie:

  • Aktywność z android:intent-filter ma exported="true".
  • Serwis/odbiornik z android:intent-filter ma exported="true".
  • Komponenty bez android:intent-filter mają exported="false".

Użycie exported="true" bez odpowiedniej ochrony (np. uprawnień) może tworzyć luki bezpieczeństwa, umożliwiając atakującym dostęp do danych lub wykonywanie złośliwych działań. Zawsze wyraźnie określ exported="false", jeśli komponent nie jest przeznaczony do użycia przez inne aplikacje.