<destinataire>

Syntaxe :
<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>
Contenu dans :
<application>
Peut contenir :
<intent-filter>
<meta-data>
Description :
Déclare un broadcast receiver, un BroadcastReceiver comme l'un des composants de l'application. Activation par les broadcast receivers aux applications de recevoir des intents diffusés par le système ou par d'autres applications, même lorsque les autres composants de l'application ne sont pas en cours d'exécution.

Il existe deux façons de faire connaître un broadcast receiver au système. La première consiste à le déclarer dans le fichier manifeste avec cet élément. L'autre consiste à créer le récepteur de manière dynamique dans le code et de l'enregistrer Context.registerReceiver() ou l'une de ses versions surchargées.

Pour en savoir plus sur la création dynamique de récepteurs, consultez la Classe BroadcastReceiver la description.

Si ce récepteur gère des annonces non système, spécifiez une valeur pour android:exported. Définissez cette valeur sur "true" si vous souhaitez que votre récepteur puisse du récepteur de contenu depuis d'autres applications ou "false" si vous ne que votre récepteur puisse recevoir des diffusions de votre propre application.

Vous n'avez pas besoin de supprimer l'attribut android:permission si vous l'a déjà déclarée.

Avertissement : Limitez le nombre de broadcast receivers que vous définissez dans votre application. Un nombre trop élevé de broadcast receivers peut affecter les performances de votre application et l'autonomie de la batterie des appareils des utilisateurs. Pour en savoir plus sur les API que vous pouvez utiliser à la place BroadcastReceiver pour planifier des tâches en arrière-plan, voir Optimisation de l'arrière-plan.

Attributs :
android:directBootAware

Que le broadcast receiver soit compatible avec le démarrage direct ? est de savoir si elle peut s’exécuter avant que l’utilisateur déverrouille l’appareil.

Remarque : Pendant le démarrage direct, un broadcast receiver de votre application ne peut accéder qu'aux données stockées dans l'espace de stockage protégé par l'appareil.

La valeur par défaut est "false".

android:enabled
Indique si le broadcast receiver peut être instancié par le système. Cette valeur indique "true" si l'activité peut être instanciée, et "false" dans le cas contraire. La valeur par défaut est "true".

L'élément <application> possède son propre attribut enabled qui s'applique à tous les composants d'application, y compris les broadcast receivers. La <application> et Les attributs <receiver> doivent tous les deux être "true" pour le broadcast receiver à être activé. Si l'une des valeurs est "false", la valeur désactivé et ne peut pas être instancié.

android:exported
Indique si le broadcast receiver peut recevoir des messages provenant de sources hors système en dehors de son application. "true" si c'est possible, et "false" si ce n'est pas le cas. Si la valeur est "false", les seuls messages envoyés au broadcast receiver reçues sont celles envoyées par le système, les composants de la même application ou avec le même ID utilisateur.

Si aucune valeur n'est spécifiée, la valeur par défaut varie selon que le broadcast receiver contient ou non des filtres d'intent. Si le récepteur contient au moins un filtre d'intent, la valeur par défaut est "true" Sinon, la valeur par défaut est "false".

Cet attribut n'est pas le seul moyen de limiter l'exposition externe d'un broadcast receiver. Vous pouvez également utiliser une autorisation pour limiter les entités externes pouvant lui envoyer des messages. Consultez l'attribut permission.

android:icon
Icône représentant le broadcast receiver. Cet attribut est défini en tant que référence à une ressource drawable contenant la définition de l'image ; Si elle n'est pas définie, l'icône spécifiée pour l'application dans son ensemble est utilisée. à la place. Consultez l'attribut icon de l'élément <application>.

Icône du broadcast receiver, définie ici ou par <application> est également l'élément icône par défaut pour tous les filtres d'intent du récepteur. Consultez le <intent-filter> élément icon.

android:label
Libellé lisible pour le broadcast receiver. Si cet attribut n'est pas l'étiquette définie pour l'application dans son ensemble est utilisé à la place. Consultez l'attribut label de l'élément <application>.

Libellé du broadcast receiver, défini ici ou par le <application> est également l'élément étiquette par défaut pour tous les filtres d'intent du récepteur. Consultez le <intent-filter> élément label.

Le libellé est défini comme une référence à une ressource de chaîne, de sorte qu'il puisse être localisé comme les autres chaînes de l'interface utilisateur. Toutefois, lorsque vous développez l'application, vous pouvez également le définir comme une chaîne brute.

android:name
Nom de la classe qui implémente le broadcast receiver, une sous-classe de BroadcastReceiver. Il s'agit d'un nom de classe, par exemple "com.example.project.ReportReceiver". Toutefois, pour faire court : si le premier caractère du nom est un point, par exemple, ".ReportReceiver", il est ajouté au nom du package spécifié dans l'élément <manifest>.

Une fois l'application publiée, ne modifiez pas ce nom, sauf si vous définissez android:exported="false".

Il n'y a pas de valeur par défaut. Vous devez renseigner le nom.

android:permission
Nom d'une autorisation dont les diffuseurs ont besoin pour envoyer une au broadcast receiver. Si cet attribut n'est pas défini, l'autorisation définie par <application> élément L'attribut permission s'applique au broadcast receiver. Si aucun attribut n'est défini, le récepteur n'est pas protégé par une autorisation.

Pour en savoir plus sur les autorisations, consultez la section Autorisations dans la présentation du fichier manifeste d'application et les conseils de sécurité.

android:process
Nom du processus dans lequel le broadcast receiver s'exécute. Normalement, tous les composants d'une application s'exécutent dans le processus par défaut créé pour celle-ci. Il porte le même nom que le package de l'application.

La <application> élément L'attribut process peut définir une valeur différente par défaut pour tous les composants. Mais chaque composant peut remplacer la valeur par défaut avec son propre attribut process, ce qui vous permet dans plusieurs processus.

Si le nom attribué à cet attribut commence par le signe deux-points (:), un nouveau privé à l'application, est créé en cas de besoin, et le broadcast receiver s'exécute dans ce processus.

Si le nom du processus commence par une lettre minuscule, le récepteur exécute dans un processus global du même nom, à condition qu'il soit autorisé à le faire. Cela permet aux composants de différentes applications de partager un processus, ce qui réduit l'utilisation des ressources.

Première apparition :
Niveau d'API 1