Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Kotlin: android, service, security, exported

На что влияет флаг exported у сервиса?

Вопрос объясняет назначение атрибута exported в объявлении сервиса.

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

Флаг exported определяет, могут ли другие приложения запускать или связываться с сервисом:

  • true — доступен всем (требует permission)

  • false — только для своего приложения

Длинный ответ

1. Безопасность

  • exported="true"

    • Обязательно добавьте <permission> в манифест.

    • Без permission сервис уязвим к атакам (например, запуск с вредоносными данными).

  • exported="false"

    • Полная изоляция от других приложений.

2. Примеры

<!-- Правильно: сервис только для внутреннего использования -->
<service
    android:name=".MyInternalService"
    android:exported="false" />

<!-- Опасный вариант: доступен всем без проверки -->
<service
    android:name=".MyApiService"
    android:exported="true" />

<!-- Безопасный публичный сервис -->
<service
    android:name=".MySecureService"
    android:exported="true"
    android:permission="com.example.PERMISSION" />

3. Важные нюансы

  • Если у сервиса есть <intent-filter>, exported автоматически становится true.

  • Для bindService() проверяется как exported, так и permission.

Вывод:
Всегда явно указывайте exported и минимизируйте публичные сервисы.

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    1

  • Сложность:

    6

Навыки

  • Kotlin

    Kotlin

Ключевые слова

#android

#service

#security

#exported

Подпишись на Android Developer в телеграм

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.