要创建服务,你需要创建一个继承自 Service 基类或者它的已知子类的 Java 类。Service 基类定义了不同的回调方法和多数重要方法。你不需要实现所有的回调方法。虽然如此,理解所有的方法还是非常重要的。实现这些回调能确保你的应用以用户期望的方式实现。

回调描述
onStartCommand()其他组件 (如活动) 通过调用 startService() 来请求启动服务时,系统调用该方法。如果你实现该方法,你有责任在工作完成时通过 stopSelf() 或者 stopService() 方法来停止服务。
onBind当其他组件想要通过 bindService() 来绑定服务时,系统调用该方法。如果你实现该方法,你需要返回 IBinder 对象来提供一个接口,以便客户来与服务通信。你必须实现该方法,如果你不允许绑定,则直接返回 null。
onUnbind()当客户中断所有服务发布的特殊接口时,系统调用该方法。
onRebind()当新的客户端与服务连接,且此前它已经通过 onUnbind(Intent) 通知断开连接时,系统调用该方法。
onCreate()当服务通过 onStartCommand() 和 onBind() 被第一次创建的时候,系统调用该方法。该调用要求执行一次性安装。
onDestroy()当服务不再有用或者被销毁时,系统调用该方法。你的服务需要实现该方法来清理任何资源,如线程,已注册的监听器,接收器等。