<Empfänger>

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> Element icon-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> Element label-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>-Element

Nachdem 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 das process-Attribut für alle Komponenten. Jede Komponente kann jedoch den Standardwert mit einem eigenen process-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