Ich habe einen Code, der verfügbare Wifi-Netzwerk verfolgen will, unabhängig davon, ob die App funktioniert oder nicht.Verwirrt über Android BroadcastReceiver & Service
Basierend auf einigen Probe ich im Web ich folgendes tun gefunden:
- registrieren eine entsprechende WakefulBroadcastReceiver
- Im Empfänger feuern eine Intent die einer meiner IntentService beginnt
- Schließlich im Service analysieren Sie die Ergebnisse und speichern Sie sie in einer statischen Variablen (sollte für den gesamten Prozess zugänglich sein).
Hoffentlich meine ganze Anwendung läuft in einem Prozess (ich glaube, ich eine Fahne sah, zu spezifizieren, dass ein Tag .. nicht sicher, wo ..)
Jetzt habe ich ein paar Fragen:
- Warum nicht die Arbeit im Empfänger, warum einen Dienst starten?
- Warum einen Wakeful-Empfänger anstelle eines reinen Empfängers verwenden? Insbesondere wenn die Arbeit zu einem Dienst umgeleitet wird
- Wäre mein Dienst und die Aktivität meiner App im selben Prozess? Art von notwendig für den Austausch von Daten über statische Variablen ...
'Schließlich, wenn Sie von dem Dienst zu der Aktivität kommunizieren möchten, dann würden Sie eine Absicht an den BroadcastReceiver senden. Nicht wirklich, wie Sie sagten:" Wenn Sie mit dem Dienst kommunizieren möchten, müssen Sie verwenden eine ServiceConnection und verbinden Sie sich mit ihr durch Binding - verwenden Sie also verbindlich - es kann perfekt in beide Richtungen arbeiten – pskink
^guter Punkt, Empfänger ist nicht notwendig –