前言
前两篇文章中介绍了普通的后台服务及前台服务,这些服务有个共同的特点就是,启动服务的组件和服务之间没有任何关系。要想两者之间发生点关系,那就需要将两者之间绑定起来,这就用到了绑定服务。
何为绑定服务
绑定服务是提供客户端 (例如 Android 活动))可以与之交互的客户端-服务器接口的 Android 服务。绑定服务一般涉及客户端与服务端,绑定服务是客户端-服务端接口中的服务端。借助绑定服务,组件(例如 Activity)可以绑定到服务、发送请求、接收响应,以及执行进程间通信 (IPC)。绑定服务通常只在为其他应用组件提供服务时处于活动状态,不会无限期在后台运行。简单来说就是为客户端提供客户端服务器接口以直接与服务交互的服务称为-绑定服务。。
绑定服务是 Service 类的实现,可让其他应用与其进行绑定和交互。如需为服务提供绑定,您必须实现 onBind() 回调方法。此方法会返回一个 IBinder 对象,该对象定义的编程接口可供客户端用来与服务进行交互。
绑定服务允许应用组件通过调用 bindService() 与其绑定,从而创建长期连接。此服务通常不允许组件通过调用 startService() 来启动它。
如需与 Activity 和其他应用组件中的服务进行交互,或需要通过进程间通信 (IPC) 向其他应用公开某些应用功能,则应创建绑定服务。
启动服务与绑定服务
一个服务的类型一般是单一的,如启动服务和绑定服务,但也可以是多种状态的