- синтаксис:
<receiver android:directBootAware=["true" | "false"] android:enabled=["true" | "false"] android:exported=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:name="string" android:permission="string" android:process="string" > ... </receiver>
- содержится в:
-
<application> - может содержать:
-
<intent-filter>
<meta-data>
<property> - описание:
- Объявляет широковещательный приемник, подкласс
BroadcastReceiver, в качестве одного из компонентов приложения. Широковещательные приемники позволяют приложениям получать интенты, передаваемые системой или другими приложениями, даже когда другие компоненты приложения не запущены.Существует два способа сообщить системе о широковещательном приемнике. Первый — объявить его в файле манифеста с помощью этого элемента. Второй — создать приемник динамически в коде и зарегистрировать его с помощью метода
Context.registerReceiver()или одной из его перегруженных версий.Для получения дополнительной информации о том, как динамически создавать приемники, см. описание класса
BroadcastReceiver.Если этот приемник обрабатывает широковещательные сообщения, не относящиеся к системным, укажите значение для
android:exported. Установите это значение на"true"если вы хотите, чтобы ваш приемник мог принимать широковещательные сообщения от других приложений, или на"false"если вы хотите, чтобы ваш приемник мог принимать широковещательные сообщения только от вашего собственного приложения.Удалять атрибут
android:permissionне нужно, если вы его уже объявили.Внимание: ограничьте количество широковещательных приемников, которые вы устанавливаете в своем приложении. Слишком большое количество широковещательных приемников может повлиять на производительность вашего приложения и время автономной работы устройств пользователей. Для получения дополнительной информации об API, которые можно использовать вместо класса
BroadcastReceiverдля планирования фоновой работы, см. раздел «Оптимизация фоновых процессов» . - атрибуты:
-
android:directBootAware Проверяет ли приемник вещания наличие функции Direct-Boot , то есть может ли он работать до разблокировки устройства пользователем.
Примечание: Во время прямой загрузки широковещательный приемник в вашем приложении может получить доступ только к данным, хранящимся в защищенном хранилище устройства .
Значение по умолчанию —
"false".-
android:enabled - Указывает, может ли система создать экземпляр широковещательного приемника. Если может, то значение
"false""true", если нет. Значение по умолчанию -"true".Элемент
<application>имеет собственный атрибутenabled, который применяется ко всем компонентам приложения, включая широковещательные приемники. Для включения широковещательного приемника оба атрибута<application>и<receiver>должны быть равны"true". Если хотя бы один из них равен"false", приемник отключен и не может быть создан. -
android:exported - Указывает, может ли широковещательный приемник получать сообщения из источников, не входящих в систему, за пределами его приложения. Если может, то значение
"true", если нет"false". Если"false", широковещательный приемник получает только сообщения, отправленные системой, компонентами того же приложения или приложениями с тем же идентификатором пользователя.Если значение не указано, оно зависит от того, содержит ли приемник широковещательных сообщений фильтры намерений. Если приемник содержит хотя бы один фильтр намерений, то значение по умолчанию —
"true". В противном случае значение по умолчанию —"false".Этот атрибут — не единственный способ ограничить внешний доступ широковещательного приемника. Вы также можете использовать разрешение для ограничения внешних объектов, которые могут отправлять ему сообщения. См. атрибут
permission. -
android:icon - Значок, представляющий широковещательный приемник. Этот атрибут устанавливается как ссылка на ресурс drawable, содержащий определение изображения. Если он не установлен, вместо него используется значок, указанный для всего приложения. См. атрибут
iconэлемента<application>.Значок приемника широковещательной рассылки, заданный здесь или элементом
<application>, также является значком по умолчанию для всех фильтров намерений приемника. См. атрибутiconэлемента<intent-filter>. -
android:label - Удобочитаемая пользователем метка для широковещательного приемника. Если этот атрибут не задан, используется метка, заданная для всего приложения. См. атрибут
labelэлемента<application>.Метка широковещательного приемника, заданная здесь или элементом
<application>, также является меткой по умолчанию для всех фильтров намерений приемника. См. атрибутlabelэлемента<intent-filter>.Метка задается как ссылка на строковый ресурс, чтобы ее можно было локализовать так же, как и другие строки в пользовательском интерфейсе. Однако, для удобства при разработке приложения, ее также можно задать как обычную строку.
-
android:name - Имя класса, реализующего интерфейс широковещательного приемника, являющегося подклассом класса
BroadcastReceiver. Это полное имя класса, например,"com.example.project.ReportReceiver". Однако, в качестве сокращения, если первый символ имени — точка, например,".ReportReceiver", он добавляется к имени пакета, указанному в элементе<manifest>.После публикации приложения не меняйте это имя , если только вы не установите
android:exported ="false".Значений по умолчанию нет. Необходимо указать имя.
-
android:permission - Название разрешения, необходимого вещателям для отправки сообщения приемнику вещания. Если этот атрибут не задан, к приемнику вещания применяется разрешение, заданное атрибутом
permissionэлемента<application>. Если ни один из атрибутов не задан, приемник не защищен разрешением.Для получения дополнительной информации о разрешениях см. раздел «Разрешения» в обзоре манифеста приложения и советы по безопасности .
-
android:process - Имя процесса, в котором работает широковещательный приемник. Обычно все компоненты приложения работают в процессе по умолчанию, созданном для этого приложения. Он имеет то же имя, что и пакет приложения.
Атрибут
processэлемента<application>может устанавливать разные значения по умолчанию для всех компонентов. Однако каждый компонент может переопределить значение по умолчанию с помощью своего собственного атрибутаprocess, что позволяет распределить приложение по нескольким процессам.Если имя, присвоенное этому атрибуту, начинается с двоеточия (
:), то при необходимости создается новый процесс, являющийся частным для приложения, и в этом процессе запускается широковещательный приемник.Если имя процесса начинается с маленькой буквы, получатель запускается в глобальном процессе с этим именем, при условии, что у него есть на это разрешение. Это позволяет компонентам в разных приложениях совместно использовать один процесс, снижая потребление ресурсов.
-
- введено в:
- Уровень API 1
<получатель>
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2026-07-01 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2026-07-01 UTC."],[],[]]