Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Android: broadcast, receiver, permission, signature, security

Нужно обмениваться broadcast-сообщениями только между своими приложениями, запрещая внешним их принимать. Как это реализовать?

Проверяет умение ограничить приём широковещательных Intent собственными компонентами.

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

При отправке читайте разрешение через sendBroadcast(intent, YOUR_PERMISSION) и регистрируйте BroadcastReceiver с тем же правом: в манифесте укажите android:permission="YOUR_PERMISSION". Тогда только приложения, у которых есть это разрешение, смогут отправлять или принимать ваш Broadcast.

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

Объявление разрешения

<permission android:name="com.example.MY_BROADCAST" android:protectionLevel="signature"/>

Отправка

sendBroadcast(intent, "com.example.MY_BROADCAST")

Приёмник в манифесте

<receiver android:name=".MyReceiver" android:permission="com.example.MY_BROADCAST">
  	<intent-filter><action android:name="ACTION"/></intent-filter>
</receiver>

Signature-level

Только ваше приложение с тем же сертификатом может использовать разрешение.

Вывод:

Signature-permission гарантирует приватность ваших Broadcast.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Android

    Android

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

#broadcast

#receiver

#permission

#signature

#security

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