Какую роль выполняет атрибут android:exported в AndroidManifest.xml при определении компонентов приложения?

Атрибут android:exported в AndroidManifest.xml определяет, может ли компонент приложения (Activity, Service, BroadcastReceiver или ContentProvider) быть доступен для запуска или взаимодействия из других приложений.

Короткий ответ

Что ответить на собеседовании

Атрибут android:exported в AndroidManifest.xml определяет, может ли компонент приложения (Activity, Service, BroadcastReceiver или ContentProvider) быть доступен для запуска или взаимодействия из других приложений.

Подробный разбор

Ответ с пояснениями

Атрибут android:exported в AndroidManifest.xml определяет, может ли компонент приложения (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>

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку