Sobes.tech
Junior — Middle

Qual è il ruolo dell'attributo android:exported in AndroidManifest.xml nella definizione dei componenti dell'app?

sobes.tech AI

Risposta dell'AI

L'attributo android:exported in AndroidManifest.xml determina se un componente dell'app (Activity, Service, BroadcastReceiver o ContentProvider) può essere accessibile per l'avvio o l'interazione da altre applicazioni.

  • Se android:exported="true", il componente è accessibile dall'esterno, cioè altre applicazioni possono avviarlo.
  • Se android:exported="false", il componente è disponibile solo all'interno dell'app stessa.

Questo è importante per la sicurezza e la gestione degli accessi. A partire da Android 12, per i componenti con filtri di intent, è obbligatorio impostare esplicitamente questo attributo.

Esempio:

<activity android:name=".MainActivity" android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>