生命周期方法onCreate()和onDestroy()在所有服务中都会被执行,无论它们是由Context.startService()还是Context.bindService()启动。与之不同的是,onStart()方法仅在服务由startService()启动时才会被调用。

如果一个服务支持其他进程绑定,那么还需要实现以下回调方法:

  • IBinder onBind(Intent intent):当有客户端绑定到服务时调用,返回一个IBinder对象用于与服务通信。
  • boolean onUnbind(Intent intent):当客户端解除绑定时调用。
  • void onRebind(Intent intent):当新的客户端绑定到服务时调用,前提是onUnbind()方法返回true。

传递给bindService()的Intent对象也会作为参数传递给onBind()方法,而传递给unbindService()的Intent对象则作为参数传递给onUnbind()方法。