LocalBroadcastManager vs-Kontext.registerReceiver(), Context.sendBroadcast(Intent), und Kontext.unregisterReceiver() sind Sie gleich?
War ich mit Context.registerReceiver(), Context.sendBroadcast(Intent) , and Context.unregisterReceiver()
aber als ich sah die Klasse LocalBroadcastManager
es hat registerReceiver(), sendBroadcast(Intent) ,
undunregisterReceiver()
wie in Context
.
Ich bin verwirrt. Wann sollte ich das LocalBroadcastManager
? sind Sie gleichen in Context
?
Grüße,
Dank...
Du musst angemeldet sein, um einen Kommentar abzugeben.
LocalBroadcastManager ist wie der name sagt, eine Implementierung der broadcast-Methoden, die nur zur Verfügung, um Ihre app. Dies hat einige Vorteile, der größte davon ist die Sicherheit, ein kleiner Loch aufpassen. In Bezug auf die Umsetzung, es gibt ein paar Dinge im Auge zu behalten:
LocalBroadcastManager.getInstance([CONTEXT])
wo[CONTEXT]
ist eine Unterklasse der Kontext-Klasse, wie die Aktivität.Also diese Klasse ist nicht das gleiche wie Kontext, es ist einfach eine sehr spezielle, app-nur die Umsetzung von Kontext-receiver/broadcast-Methoden. Sie sollten es verwenden, wenn es gibt absolut keine Punkt-für Ihre Zuhörer hören auf die Globale (systemweite) überträgt, und, wenn Ihre Sendung nicht braucht, um den Gegner etwas außerhalb der app.
BroadcastReceiver
.