- 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 attributenabled
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émenticon
. 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émentlabel
.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'attributpermission
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'attributprocess
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 attributprocess
, 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
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/08/22 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2024/08/22 (UTC)."],[],[]]