2014-12-13 9 views
5

Hallo Ich sehe, dass einige Rundfunkempfänger dieses Tag android:exported="true" in Android Manifest.xml zu registrieren verwenden.Was ist die Verwendung von Android: exportierte = "True" in BroadcastReceiver

<receiver android:exported="true" android:name="com.flyingsoftgames.googleplayquery.QueryReceiver"> 
    <intent-filter> 
     <action android:name="com.android.vending.INSTALL_REFERRER" /> 
    </intent-filter> 
</receiver> 

Was genau die Verwendung von android:exported="true" zu Rundfunkempfänger in Android registrieren?

Vielen Dank im Voraus.

Antwort

8

Vom Developer Guide:

android: exportierten Unabhängig davon, ob die Rundfunkempfänger-Nachrichten aus Quellen außerhalb ihrer Anwendung erhalten können - „true“, wenn sie kann, und „falsch“, wenn nicht. Wenn "false" ist, sind die einzigen Nachrichten, die der Broadcast-Empfänger empfangen kann, diejenigen, die von Komponenten derselben Anwendung oder von Anwendungen mit derselben Benutzer-ID gesendet werden. Der Standardwert hängt davon ab, ob der Broadcast-Empfänger Intent-Filter enthält. Das Fehlen von Filtern bedeutet, dass es nur von Intent-Objekten aufgerufen werden kann, die seinen genauen Klassennamen angeben. Dies bedeutet, dass der Empfänger nur für den anwendungsinternen Gebrauch bestimmt ist (da andere den Klassennamen normalerweise nicht kennen würden). In diesem Fall ist der Standardwert "false". Auf der anderen Seite impliziert das Vorhandensein von mindestens einem Filter, dass der Rundfunkempfänger beabsichtigte Intent-Übertragungen durch das System oder andere Anwendungen empfangen soll, so dass der Standardwert "wahr" ist.

Dieses Attribut ist nicht die einzige Möglichkeit, die externe Belichtung eines Broadcast-Empfängers zu begrenzen. Sie können auch eine Berechtigung verwenden, um die externen Entitäten einzuschränken, die Nachrichten senden können (siehe Berechtigungsattribut).

4

android:exported

true: Rundfunkempfänger können Ereignisse durch gleiche oder andere Anwendungen

false‍ gesendet empfangen: Rundfunkempfänger kann

Ereignisse gesendet von derselben Anwendung erhalten
+2

Also, wenn ich hören wollen zu Systemereignissen (dh Bluetooth an/aus Zustand), sollte ich ** exportierte = wahr ** verwenden? –

+0

@IgorGanapolsky In diesem Fall müssen Sie dieses Attribut nicht verwenden. – CopsOnRoad

Verwandte Themen