LocalBroadcastManager è come dice il nome, un'implementazione dei metodi di trasmissione che sono solo a disposizione per la vostra applicazione. Questo ha alcuni vantaggi, con la più grande sicurezza, una falla in meno a cui fare attenzione. In termini di attuazione, ci sono alcune cose da tenere a mente:
- questa classe viene dalla Android di sostegno Biblioteca
- Il metodo le chiamate devono essere preceduti
LocalBroadcastManager.getInstance([CONTEXT])
dove [CONTEXT]
è una sottoclasse della classe Context , come Attività.
- Quando si utilizza questa classe, è puramente per l'app. Usarlo per registrare i ricevitori e fare trasmissioni a livello di sistema non funzionerà.
Quindi questa classe non è la stessa di Contesto, è semplicemente un'implementazione molto specifica, solo per l'app, dei metodi di ricezione/trasmissione di Context. Dovresti usarlo quando non è assolutamente necessario che l'ascoltatore ascolti su trasmissioni globali (a livello di sistema) e quando la tua trasmissione non ha bisogno di indirizzare alcunché all'esterno della tua app.
fonte
2012-11-28 03:42:20
Se ricordo bene, è anche più efficiente di un normale 'BroadcastReceiver'. – Luksprog
Seguendo il commento di @ Luksprog, è più efficiente in quanto evita il sovraccarico IPC poiché è limitato alla procedura dell'app. – woot
note LocalBroadcastManager non può inviare una trasmissione persistente – Fabricator