2016-03-31 11 views
6

In meinem aktuellen Android-Projekt starte ich einen Service über startService(), danach bin ich mit bindService() an den Service gebunden. (Ich tue dies, weil ich begonnen Dienst haben will ich bin in der Lage zu kommunizieren, macht nichts)Wird onServiceConnected nur nach Service onCreate aufgerufen?

Nachdem der Kontext auf den Dienst gebunden ist, in der Regel onServiceConnected() meiner ServiceConnection(welche ich zuvor erstellt) ist genannt, wenn ich das richtig verstanden habe.

Kann ich davon ausgehen, dass onServiceConnected() erst nach all meinem Code im onCreate meines Dienst aufgerufen wird ausgeführt?

Antwort

2

Kann ich davon ausgehen, dass onServiceConnected() erst nach allen meinem Code in der onCreate meines Dienstes ausgeführt wird, aufgerufen wird?

Ja, Sie können.

Nach der service lifecycle diagram wird onBind() nicht aufgerufen, bis onCreate() abgeschlossen ist.

Die Dokumentation besagt, dass das System onServiceConnected() aufruft, um die von der onBind()-Methode des Service zurückgegebene IBinder zu liefern.

Deshalb onCreate() vor onServiceConnected() abgeschlossen genannt wird, da sie abhängig von dem Rückgabewert von onBind() sind, die nach onCreate() auftreten. Sie können dies auch in dem Diagramm sehen, wo es heißt "Clients sind an den Dienst gebunden".

Verwandte Themen