sintaxis:
<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>
se incluye en:
<application>
puede contener:
<intent-filter>
<meta-data>
descripción:
Declara un receptor de emisión (una subclase BroadcastReceiver) como uno de los componentes de la aplicación. Los receptores de emisión permiten que las aplicaciones reciban intents que transmiten el sistema y otras aplicaciones, incluso cuando otros componentes de la aplicación no se están ejecutando.

Hay dos formas de dar a conocer un receptor de emisión al sistema: una es declararlo en el archivo de manifiesto con este elemento. La otra es crear el receptor dinámicamente en el código y registrarlo con el método Context.registerReceiver(). Para obtener más información sobre cómo crear receptores dinámicamente, consulta la descripción de la clase BroadcastReceiver.

Advertencia: Limita la cantidad de receptores de emisión que configuras en tu app. Tener demasiados puede afectar su rendimiento y también la duración de batería de los dispositivos de los usuarios. Si quieres más información sobre las API que puedes usar en lugar de la clase BroadcastReceiver para programar el trabajo en segundo plano, consulta Optimizaciones en segundo plano.

atributos:
android:directBootAware

Indica si el receptor de emisión admite o no el inicio directo, es decir, si puede ejecutarse o no antes de que el usuario desbloquee el dispositivo.

Nota: Durante el modo de inicio directo, un receptor de emisión en tu aplicación solo puede acceder a los datos almacenados en el espacio de almacenamiento protegido del dispositivo.

El valor predeterminado es "false".

android:enabled
Posibilidad del sistema de crear o no el receptor de emisión: "true" si es posible y "false" si no. El valor predeterminado es "true".

El elemento <application> tiene su propio atributo enabled que se aplica a todos los componentes de la aplicación, incluidos los receptores de emisión. Los atributos <application> y <receiver> deben ser "true" para que se habilite el receptor de emisión. Si alguno es "false", está inhabilitado y no puede crearse.

android:exported
Indica si el receptor de emisión puede recibir mensajes de fuentes ajenas al sistema fuera de su aplicación: "true" si puede y "false" si no. Si es "false", los únicos mensajes que puede recibir el receptor de emisión son los enviados por los componentes de la misma aplicación o por aplicaciones con el mismo ID de usuario.

Si no se especifica, el valor predeterminado depende de si el receptor de emisión contiene filtros de intents. Si la app receptora contiene al menos un filtro de intents, el valor predeterminado es "true". De lo contrario, el valor predeterminado es "false".

Este atributo no es la única forma de limitar la exposición externa de un receptor de emisión. También puedes usar un permiso para limitar las entidades externas que pueden enviarle mensajes (consulta el atributo permission).

android:icon
Es un ícono que representa al receptor de emisión. Este atributo se debe establecer como referencia a un recurso de elemento de diseño que contiene la definición de la imagen. Si no está configurado, en su lugar se usa el ícono especificado para toda la aplicación (consulta el atributo icon del elemento <application>).

El ícono del receptor de emisión, ya sea que se configure aquí o lo configure el elemento <application>, también es el predeterminado para todos los filtros de intents del receptor (consulta el atributo icon del elemento <intent-filter>).

android:label
Es una etiqueta legible por el usuario para el receptor de emisión. Si no se establece este atributo, en su lugar se usa la etiqueta configurada para toda la aplicación (consulta el atributo label del elemento <application>).

La etiqueta del receptor de emisión, ya sea que se configure aquí o la configure el elemento <application>, también es la etiqueta predeterminada para todos los filtros de intents del receptor (consulta el atributo label del elemento <intent-filter>).

La etiqueta debe establecerse como una referencia a un recurso de string de manera que pueda localizarse como otras strings en la interfaz de usuario. Sin embargo, para tu conveniencia durante el desarrollo de la aplicación, también se puede establecer como string sin procesar.

android:name
Es el nombre de la clase que implementa el receptor de emisión, una subclase de BroadcastReceiver. Debería ser un nombre de clase completo (como "com.example.project.ReportReceiver"). Sin embargo, para abreviar, si el primer carácter del nombre es un punto (por ejemplo, ". ReportReceiver"), se agrega al nombre del paquete especificado en el elemento <manifest>.

Una vez que publiques tu aplicación, no deberías cambiar este nombre (a menos que hayas configurado android:exported="false").

No hay ningún valor predeterminado. Se debe especificar el nombre.

android:permission
Es el nombre de un permiso que las emisoras deben tener para enviar un mensaje al receptor de la emisión. Si no se configura este atributo, el permiso configurado por el atributo permission del elemento <application> se aplica al receptor de la emisión. Si no se configura ninguno de los atributos, el receptor no está protegido por un permiso.

Para obtener más información sobre permisos, consulta la sección Permisos en la introducción y el documento Seguridad y permisos.

android:process
Es el nombre del proceso en el que se debe ejecutar el receptor de la emisión. Por lo general, todos los componentes de una aplicación se ejecutan en el proceso predeterminado creado para ella. Tiene el mismo nombre que el paquete de la aplicación. El atributo process del elemento <application> puede establecer un valor predeterminado diferente para todos los componentes. Sin embargo, cada componente puede anular el valor predeterminado con su propio atributo process, lo que te permite repartir tu aplicación entre varios procesos.

Si el nombre asignado a este atributo comienza con dos puntos (":"), cuando es necesario, se crea un nuevo proceso, privado para la aplicación, y el receptor de emisión se ejecuta en ese proceso. Si el nombre del proceso comienza con un carácter en minúscula, el receptor se ejecutará en un proceso global con ese nombre, siempre que tenga permiso para hacerlo. Esto permite que los componentes de diferentes aplicaciones compartan un mismo proceso y reduzcan de esa forma el uso de recursos.

primera inclusión:
Nivel de API 1