当我们在MainActivity中编写onCreate()
时,如何唤醒和执行诸如onStartCommand()
,onBind()
或startService(intent)
之类的活动或服务的功能?
它们不是将被自动调用的构造方法。
他们怎么称呼?
答案 0 :(得分:0)
首先,onStartCommand受到无界服务,而onBind受到有界服务。 好的,当通过startService命令调用服务时,首先会调用onCreate函数,然后会调用onStartCommand(无界服务)。之后,该服务将开始运行,直到被其自身或其他因素停止为止。 绑定服务中也会发生同样的情况,唯一的区别是它调用onBind Command而不是onStartCommand。
1)开始服务 当组件(如活动)调用startService()方法时,将启动服务,现在该服务将无限期在后台运行。它通过stopService()方法停止。该服务可以通过调用stopSelf()方法来停止自身。
2)绑定服务 当另一个组件(例如客户端)调用bindService()方法时,将绑定服务。客户端可以通过调用unbindService()方法来取消绑定服务。
在所有客户端解除绑定服务之前,无法停止该服务。
有关更多信息,您可以参考服务的生命周期:-https://developer.android.com/guide/components/services