<receiver>

СИНТАКСИС:
СОДЕРЖИТСЯ В:
<application>
МОЖЕТ СОДЕРЖАТЬ:
<intent-filter>
<meta-data>
ОПИСАНИЕ:

Объявляет широковещательный приемник (подкласс BroadcastReceiver) как компонент приложения. Широковещательный приемник позволяет приложению получать намерения, которые рассылает система или другие приложения, даже когда остальные компоненты приложения не запущены.

Существует два способа познакомить систему с приемником: один из них – объявить его в манифесте с помощью данного элемента. Второй – создать приемник в коде и зарегистрировать с помощью метода Context.registerReceiver(). Смотрите подробности в описании класса BroadcastReceiver.

АТРИБУТЫ:
android:enabled

Указывает может ли приемник быть создан системой, true – если может и false – если нет. Значение по умолчанию true.

Элемент <application> имеет собственный атрибут enabled, который применяется для всех компонентов приложения. Атрибуты обоих элементов <application> и <receiver> должны быть равны true (это их значение по умолчанию). Если в одном из элементов будет указано значение false, приемник не сможет быть создан.

android:exported

Указывает, может ли приемник получать сообщения от других приложений: true если может. Если указано значение false, приемник может получать сообщения только от приложений, имеющих такой же идентификатор пользователя.

Значение по умолчанию зависит от того, содержит ли приемник фильтры намерений. Отсутствие фильтров подразумевает, что приемник предназначен только для внутреннего пользования (если, конечно, другие не знают его имя). В таком случае значение по умолчанию "false". С другой стороны, наличие хотя бы одного фильтра означает, что приемник предназначен для внешнего применения, и значение по умолчанию равно true.

Этот атрибут не единственный способ ограничить воздействие других приложений на приемник. Вы также должны использовать разрешения для ограничения использования приемника внешними объектами.

android:icon

Иконка приемника. Атрибут должен содержать ссылку на ресурс типа drawable с изображением. Если иконка для приемника не установлена, будет использована иконка, указанная в атрибуте android:icon элемента <application>.

Иконка, указанная в этом атрибуте, является также иконкой по умолчанию для всех фильтров намерений (смотрите элемент <intent-filter>).

android:label

Заголовок приемника, который виден пользователю. Если атрибут не установлен, будет использоваться значение атрибута label элемента <application>.

Заголовок, указанный в атрибуте, является также заголовком по умолчанию для всех фильтров намерений (смотрите элемент <intent-filter>).

Атрибут должен содержать ссылку на строковый ресурс, это поможет локализовать приложение. Однако во время разработки временно можно установить в качестве значения простую строку.

android:name

Имя класса (подкласс BroadcastReceiver), который реализует данный широковещательный приемник. Значение атрибута должно содержать полное имя, включая название пакетв (например, com.example.project.ReportReceiver). Тем не менее, в качестве сокращения, если первый символ названия точка (например, .ExtracurricularActivity), к нему будет добавлено имя пакета, указанное в элементе <manifest>

После публикации приложения, вы не должны менять значение этого атрибута (если только не установили атрибуте android:exported="false").

Атрибут не имеет значения по умолчанию и имя должно быть явно указано.

android:permission

Название разрешения, которое должен иметь компонент для отправки сообщения приемнику. Если атрибут не установлен, применяется разрешение элемента <application>. Если атрибут не установлен в обоих элементах, приемник не защищен разрешением.

Подробнее в разделах Разрешения и Безопасность и разрешения.

android:process

Имя процесса, в котором приемник должен быть запущен. Как правило, все компоненты приложения запускаются в процессе по умолчанию, созданным для приложения и задавать этот атрибут не требуется. Но если необходимо, вы можете задать другое имя процесса, что позволит распределить компоненты вашего приложения между несколькими процессами.

Если имя, указанное в атрибуте начинается с двоеточия “:”, новый процесс, частный для приложения, создается при необходимости и приемник работает в нем. Если имя процесса начинается с маленькой буквы, приемник будет запущен в глобальном процессе с указанным именем, при условии, что оно имеет разрешение. Это позволяет компонентам различных приложений использовать общий процесс, снижая расход ресурсов.

С помощью атрибута process элемента <application> можно задать имя процесса по умолчанию для всех компонентов приложения.

ДОБАВЛЕНО:
уровень API 1

Добавить комментарий