Sobes.tech
Junior — Middle

Ποιος είναι ο ρόλος του χαρακτηριστικού android:exported στο AndroidManifest.xml κατά τον ορισμό των συστατικών της εφαρμογής;

sobes.tech AI

Απάντηση από AI

Το χαρακτηριστικό android:exported στο AndroidManifest.xml καθορίζει αν ένα συστατικό της εφαρμογής (Activity, Service, BroadcastReceiver ή ContentProvider) μπορεί να είναι διαθέσιμο για εκκίνηση ή αλληλεπίδραση από άλλες εφαρμογές.

  • Αν android:exported="true", το συστατικό είναι προσβάσιμο από έξω, δηλαδή άλλες εφαρμογές μπορούν να το ξεκινήσουν.
  • Αν android:exported="false", το συστατικό είναι διαθέσιμο μόνο εντός της ίδιας της εφαρμογής.

Αυτό είναι σημαντικό για την ασφάλεια και τον έλεγχο πρόσβασης. Από το Android 12 και μετά, για τα συστατικά με φίλτρα πρόθεσης, είναι υποχρεωτικό να ορίζεται ρητά αυτό το χαρακτηριστικό.

Παράδειγμα:

<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>