- 《Android Service基础》
- 《Android Service回调和配置》
- 《Android Service aidl使用及进阶》
- 《Android Service更多知识》
- 《Android 中的 IntentService 类详解》
- 《Android Service aidl分析》
- 《Android Service 流程分析》
Service 生命周期方法回调
创建服务,必须创建 Service 的子类(或使用它的一个现有子类)。可以重写一些回调方法,从而处理服务生命周期的某些关键方面,主要的回调方法有 onCreate()
、onBind()
、onRebind()
、onStartCommand()
、onStart()
、onUnbind()
、onDestroy()
。
onCreate()
首次创建服务时,系统会(在调用 onStartCommand()
或 onBind()
之前)调用此方法来执行一次性设置程序。如果服务已在运行,则不会调用此方法。
onBind()
当另一个组件想要与服务绑定时,系统会通过调用 bindService()
来调用此方法。在此方法的实现中,必须通过返回 IBinder 提供一个接口,以供客户端用来与服务进行通信。但是,如果并不希望服务允许绑定,则应返回 null。
onRebind()
服务未被销毁,再次绑定时回调。前提是 onUnbind()
方法返回true(如果服务已启动并接受绑定,则当系统调用 onUnbind()
方法时,如果想在客户端下一次绑定到服务时接收 onRebind()
调用,则可选择返回 true)。onRebind()
返回空值,但客户端仍在其 onServiceConnected()
回调中接收 IBinder。
onStartCommand()
当另一个组件(如 Activity)请求启动服务时,系统会通过调用 startService()
来调用此方法。执行此方法时,服务即会启动并可在后台无限期运行。如果实现此方法,则在服务工作完成后,需负责通过调用 stopSelf()
或 stopService()
来停止服务。(如果只想提供绑定,则无需实现此方法&