Sobes.tech
Junior — Middle

რა როლი აკისრია android:exported ატრიბუტს AndroidManifest.xml-ში აპლიკაციის კომპონენტების განსაზღვრისას?

sobes.tech AI

პასუხი AI-სგან

AndroidManifest.xml- ში android:exported ატრიბუტი განსაზღვრავს, შეიძლება თუ არა აპლიკაციის კომპონენტი (Activity, Service, BroadcastReceiver ან ContentProvider) იყოს ხელმისაწვდომი სხვა აპლიკაციებისგან დაწყებისთვის ან ურთიერთქმედებისთვის.

  • თუ android:exported="true", კომპონენტი ხელმისაწვდომია გარედან, ანუ სხვა აპლიკაციები შეუძლიათ ამ კომპონენტის დაწყება.
  • თუ android:exported="false", კომპონენტი ხელმისაწვდომია მხოლოდ თავად აპლიკაციის შიგნით.

ეს უსაფრთხოებისა და წვდომის კონტროლისთვის მნიშვნელოვანია. Android 12-დან იწყება, კომპონენტებისთვის, რომლებსაც intent-ფილტრები აქვთ, აუცილებელია ამ ატრიბუტის ზუსტად მითითება.

მაგალითი:

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