在我目前的Android项目中,我通过startService()
启动服务,之后我使用bindService()
绑定到服务。 (我之所以这样做,是因为我希望有一个我能够与之沟通的服务,但没关系)
在将Context绑定到服务之后,如果我理解这一点,通常会onServiceConnected()
{我之前创建的 ServiceConnection
。
我可以假设onServiceConnected()
仅在执行了我的服务onCreate
中的我的所有代码后才会被调用吗?
答案 0 :(得分:3)
我可以假设,onServiceConnected()仅在我的所有人之后被调用 我的服务的onCreate中的代码是执行的吗?
是的,你可以。
根据service lifecycle diagram onBind()
直到onCreate()
完成后才会调用。
该文档指出系统调用onServiceConnected()
来传递服务的IBinder
方法返回的onBind()
。
因此,onCreate()
在调用onServiceConnected()
之前完成,因为它取决于onBind()
之后发生的onCreate()
的返回值。您还可以在图表中看到这一点,它表示"客户端必须服务"。