2016-05-31 2 views
0

Ich möchte broadcast mein StandortUpdate von GoogleApi (die in Service ist) zu 3 verschiedenen Aktivitäten. Ich kann einen einfachen Rückruf implementieren, aber auf diese Weise kann ich meinen Standort nur an einen Ort senden.Was ist der beste Weg, um meine LocationUpdate durch alle Anwendungen zu verbreiten?

@Override 
    public void onLocationChanged(Location location) { 
     mLocationCallback.handleNewLocation(location); 
    } 

Bei einer anderen Hand, die ich BroadCastReceiver erstellen:

private BroadcastReceiver receiver = new BroadcastReceiver() { 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      notifyListDataChanged(); 

     } 
    }; 

aber es sieht hässlich aus und nimmt viel Zeit zu codieren und zu pflegen. Gibt es eine andere einfache Möglichkeit, Standort-Updates von Service

+0

Persönlich habe ich es nicht benutzt, aber vielleicht könnten Sie versuchen [EventBus] (http://greenrobot.org/eventbus/) –

+0

Sie können Liste der Rückrufe –

Antwort

1

Broadcast zu senden Es gibt mehrere Nachrichtenbus-Implementierungen für Android, einschließlich Otto, EventBus und andere. Jeder von ihnen sollte dafür arbeiten.

+0

andere wie was? –

+0

Ich dachte an die Verwendung von RxJava, um einen Nachrichtenbus zu implementieren (wenn man bereits Rx verwendet), aber eine zufällige Google-Suche sollte etwa ein Dutzend Bibliotheken auftauchen. Das ist aber nicht der Punkt. Die Verwendung eines Nachrichtenbusses ist der Punkt. Die Auswahl bestimmter Bibliotheken wird hier allgemein als nicht-thematisch betrachtet. – GreyBeardedGeek

Verwandte Themen