- Syntax:
<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>
- enthalten in:
<application>
- kann Folgendes enthalten:
<intent-filter>
<meta-data>
- description:
- Deklariert einen Übertragungsempfänger, einen
BroadcastReceiver
als eine der Anwendungskomponenten. Broadcast-Empfänger aktivieren um Intents zu empfangen, die vom System oder von anderen auch wenn andere Komponenten der Anwendung nicht ausgeführt werden.Es gibt zwei Möglichkeiten, dem System einen Übertragungsempfänger mitzuteilen. Erstens: in der Manifestdatei mit diesem Element deklarieren. Die andere besteht darin, des Empfängers dynamisch im Code schreiben und
Context.registerReceiver()
oder einer ihrer überlasteten Versionen.Weitere Informationen zum dynamischen Erstellen von Empfängern finden Sie in der
BroadcastReceiver
Klasse Beschreibung.Wenn dieser Empfänger Nicht-System-Broadcasts verarbeitet, gib einen Wert für
android:exported
an. Setze diesen Wert auf"true"
, wenn dein Empfänger von anderen Apps oder"false"
, wenn Sie nur Ihr Receiver soll Broadcasts von Ihrer eigenen App empfangen können.Sie müssen das Attribut
android:permission
nicht entfernen, wenn Sie bereits deklariert.Warnung:Begrenzen Sie die Anzahl der Übertragungen. Empfänger, die du in der App festgelegt hast. Zu viele Übertragungsempfänger können die Leistung Ihrer App und die Akkulaufzeit der Nutzer Geräte. Weitere Informationen zu APIs, die Sie anstelle der
BroadcastReceiver
-Klasse zum Planen von Hintergrundarbeiten, siehe Hintergrundoptimierung: - Attribute:
android:directBootAware
Ob der Übertragungsempfänger Direct-Boot-fähig ist, ob sie ausgeführt werden kann, bevor der Nutzer das Gerät entsperrt.
Hinweis : Während der Direct Boot, eine Übertragung in Ihrer Anwendung nur auf die Daten zugreifen kann, die in Gerätegeschützter Speicher.
Der Standardwert ist
"false"
.android:enabled
- Gibt an, ob der Übertragungsempfänger vom System instanziiert werden kann. Es ist
"true"
, wenn dies möglich ist, und"false"
, wenn nicht. Der Standardwert ist"true"
.Das
<application>
-Element hat eine eigene Attribut „enabled
“, das für alle gilt Anwendungskomponenten, einschließlich Übertragungsempfängern Die<application>
und<receiver>
-Attribute müssen beide"true"
für den Übertragungsempfänger zu aktivieren. Wenn entweder"false"
, ist es deaktiviert und kann nicht instanziiert werden. android:exported
- Ob der Übertragungsempfänger Nachrichten von Quellen empfangen kann, die keine systemeigenen Quellen sind
außerhalb ihrer Anwendung. Es ist
"true"
, wenn dies möglich ist, und"false"
wenn nicht. Bei"false"
erhält der Übertragungsempfänger nur Nachrichten sind diejenigen, die vom System, von Komponenten derselben Anwendung oder von Anwendungen mit derselben User-ID.Wenn kein Wert angegeben ist, hängt der Standardwert davon ab, ob der Übertragungsempfänger einen Intent enthält Filter. Wenn der Empfänger mindestens einen Intent-Filter enthält, ist der Standardwert
"true"
Andernfalls ist der Standardwert"false"
.Dieses Attribut ist nicht die einzige Möglichkeit, die Schallbelastung eines Übertragungsempfängers zu begrenzen. Sie können eine Berechtigung auch verwenden, um die externen Entitäten einzuschränken, die ihr Nachrichten senden können. Siehe das Attribut
permission
. android:icon
- Ein Symbol, das den Übertragungsempfänger darstellt. Dieses Attribut ist festgelegt
als Referenz auf eine Drawable-Ressource, die die Bilddefinition enthält.
Wenn es nicht festgelegt ist, wird das für die gesamte Anwendung angegebene Symbol verwendet.
. Siehe
<application>
icon
-Attributs des Elements.Das Symbol des Übertragungsempfängers, entweder hier oder durch das
<application>
-Element, ist auch das Standardsymbol für alle Intent-Filter des Empfängers. Weitere Informationen finden Sie in der<intent-filter>
Elementicon
-Attribut. android:label
- Ein für den Broadcast-Empfänger lesbares Label. Wenn dieses Attribut nicht
ist das für die gesamte Anwendung festgelegte Label
verwendet werden. Weitere Informationen finden Sie in der
<application>
label
-Attribut.Das Label des Übertragungsempfängers, entweder hier oder vom
<application>
-Element, ist auch das Standardlabel für alle Intent-Filter des Empfängers. Weitere Informationen finden Sie in der<intent-filter>
Elementlabel
-Attribut.Das Label wird als Verweis auf eine Stringressource festgelegt, sodass kann er wie andere Zeichenfolgen in der Benutzeroberfläche lokalisiert werden. Der Einfachheit halber sollten Sie kann auch als Rohstring festgelegt werden.
android:name
- Der Name der Klasse, die den Übertragungsempfänger implementiert, eine abgeleitete Klasse von
BroadcastReceiver
. Dies ist ein voll qualifizierter Klassenname, z. B."com.example.project.ReportReceiver"
. Sie können jedoch kurz gesagt: Wenn das erste Zeichen des Namens ein Punkt ist, z. B.".ReportReceiver"
, wird er an den Paketnamen angehängt, der in<manifest>
-ElementNachdem Sie Ihre Anwendung veröffentlicht haben, sollten Sie nicht diesen Namen ändern, es sei denn, Sie legen
android:exported="false"
fest.Es gibt keine Standardeinstellung. Der Name muss angegeben werden.
android:permission
- Der Name der Berechtigung, die Sender benötigen, um eine
an den Übertragungsempfänger senden.
Wenn dieses Attribut nicht festgelegt ist, wird die vom
<application>
Element Attribut „permission
“ wird angewendet an den Übertragungsempfänger gesendet werden. Wenn keines der beiden Attribute festgelegt ist, ist nicht durch eine Berechtigung geschützt.Weitere Informationen zu Berechtigungen finden Sie in der Berechtigungen in der App-Manifestübersicht und Sicherheitstipps
android:process
- Der Name des Prozesses, in dem der Übertragungsempfänger ausgeführt wird.
Normalerweise werden alle Komponenten einer Anwendung im erstellten Standardprozess ausgeführt.
für die Anwendung. Es hat denselben Namen wie das Anwendungspaket.
Die
<application>
Element Für dasprocess
-Attribut für alle Komponenten. Jede Komponente kann jedoch den Standardwert mit einem eigenenprocess
-Attribut, sodass Sie Ihre in mehreren Prozessen anwenden können.Wenn der diesem Attribut zugewiesene Name mit einem Doppelpunkt (
:
) beginnt, wird ein neuer der auf die Anwendung beschränkt ist, erstellt wird, wenn er benötigt wird, und während der Übertragungsempfänger ausgeführt wird.Wenn der Prozessname mit einem Kleinbuchstaben beginnt, wird der Empfänger ausgeführt in einem globalen Prozess dieses Namens erfolgen, sofern er dazu berechtigt ist. So können Komponenten in verschiedenen Anwendungen einen Prozess gemeinsam nutzen, Ressourcennutzung.
- eingeführt in:
- API-Level 1
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2024-08-22 (UTC).
[null,null,["Zuletzt aktualisiert: 2024-08-22 (UTC)."],[],[]]