android: Werden nicht-manifest Broadcast-Empfänger exportiert?

9

Wenn ich einen Broadcast-Empfänger registriere sagen Sie in meiner Aktivität so,

%Vor%

wird dieser Empfänger exportiert? Wenn eine andere App com.example.MY_ACTION ausstrahlt, wird sie von myReceiver ?

empfangen

Wenn es so ist, nehme ich an, dass ich die Form von registerReceiver() verwenden muss, die eine Zeichenfolgenberechtigung akzeptiert, und dann diese Berechtigung in meinem Manifest definiert, wodurch sie eine hohe Schutzstufe erhält (z. B. eine Signatur). Ist das korrekt? Gibt es einen einfacheren Weg?

danke.

    
Jeffrey Blattman 26.07.2012, 17:59
quelle

1 Antwort

1

Aus den API-Dokumenten zur BroadcastReceiver-API:

  

Wenn Sie keine Broadcasts über Anwendungen senden müssen, sollten Sie darüber nachdenken   Verwenden Sie diese Klasse mit LocalBroadcastManager anstatt mehr   allgemeine Einrichtungen, die unten beschrieben werden. Dies wird Ihnen viel mehr geben   effiziente Implementierung (keine prozessübergreifende Kommunikation erforderlich) und   Damit vermeiden Sie, über Sicherheitsprobleme im Zusammenhang mit anderen nachzudenken   Anwendungen können Ihre Sendungen empfangen oder senden.

Auf diese Weise können Sie den Empfänger nur in Ihrer Anwendung behalten.

    
Kaediil 26.07.2012, 23:22
quelle

Tags und Links