2016-03-31 24 views
6

在我目前的Android項目中,我通過startService()啓動服務,之後我通過bindService()綁定到服務。 (我這樣做是因爲我想有一個開始服務,我能夠與溝通,請不要介意)onServiceConnected僅在Service onCreate之後調用?

上下文綁定到服務後,通常我ServiceConnection(至極我在前面創建)onServiceConnected()如果我明白這個權利,就叫我。

我可以假設,即onServiceConnected()後只叫我的所有代碼在我服務的onCreate執行?

回答

2

我可以假設,onServiceConnected()僅在執行我的服務的onCreate中的所有 代碼後纔會調用?

是的,你可以。

根據service lifecycle diagramonBind()直到onCreate()完成後纔會調用。

該文檔指出系統調用onServiceConnected()來傳遞由服務的onBind()方法返回的IBinder

因此onCreate()在調用onServiceConnected()之前完成,因爲它取決於在onCreate()之後發生的返回值onBind()。您也可以在圖中所示的「客戶必須服務」中看到這一點。

相關問題