Android Service---创建绑定类型服务

绑定类型的服务允许应用程序组件通过调用bindService()方法与服务创建一个长期的关联(通常不允许组件通过调用startService()方法来启动它)。

在你想要Activity以及应用程序中的其他组件跟服务进行交互时,或者要把应用程序中的某些功能通过进程间通信(IPC)暴露给其他应用程序时,就需要创建一个绑定类型的服务。

要创建绑定类型的服务,你必须实现返回IBinder对象的onBind()回调方法,IBinder对象定义了跟服务进行通信的接口。然后其他应用程序组件能够调用bindService()方法获取这个接口对象,并开始调用这个服务的方法。绑定类型的服务只服务于绑定它的应用程序组件,因此当没有应用组件绑定这个服务时,系统就会销毁它。(你不必像样终止通过onStartCommand()方法启动的服务那样终止绑定类型服务)。

要创建绑定类型的服务,首先要定义接口,用于指定客户端怎样跟服务进行通信。服务和客户端的之间的接口必须是一个IBinder接口的实现,并且要求必须从onBind()回调方法返回这个接口对象。一旦客户端收到了IBinder对象,它就能通过这个接口开始与服务进行交互。

多个客户端能够同时绑定这个服务。当客户端完成与服务的交互时,它调用unbindService()方法来解绑。一旦没有客户端绑定这个服务了,系统就会销毁它。

有多种方法实现绑定类型的服务,并且实现要比启动类型服务更复杂,因此绑定类型服务会在独立的文档中(绑定类型服务)详细讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值