Android Service---创建绑定类型服务
2012-02-27 19:01
225 查看
绑定类型的服务允许应用程序组件通过调用bindService()方法与服务创建一个长期的关联(通常不允许组件通过调用startService()方法来启动它)。
在你想要Activity以及应用程序中的其他组件跟服务进行交互时,或者要把应用程序中的某些功能通过进程间通信(IPC)暴露给其他应用程序时,就需要创建一个绑定类型的服务。
要创建绑定类型的服务,你必须实现返回IBinder对象的onBind()回调方法,IBinder对象定义了跟服务进行通信的接口。然后其他应用程序组件能够调用bindService()方法获取这个接口对象,并开始调用这个服务的方法。绑定类型的服务只服务于绑定它的应用程序组件,因此当没有应用组件绑定这个服务时,系统就会销毁它。(你不必像样终止通过onStartCommand()方法启动的服务那样终止绑定类型服务)。
要创建绑定类型的服务,首先要定义接口,用于指定客户端怎样跟服务进行通信。服务和客户端的之间的接口必须是一个IBinder接口的实现,并且要求必须从onBind()回调方法返回这个接口对象。一旦客户端收到了IBinder对象,它就能通过这个接口开始与服务进行交互。
多个客户端能够同时绑定这个服务。当客户端完成与服务的交互时,它调用unbindService()方法来解绑。一旦没有客户端绑定这个服务了,系统就会销毁它。
有多种方法实现绑定类型的服务,并且实现要比启动类型服务更复杂,因此绑定类型服务会在独立的文档中(绑定类型服务)详细讨论。
在你想要Activity以及应用程序中的其他组件跟服务进行交互时,或者要把应用程序中的某些功能通过进程间通信(IPC)暴露给其他应用程序时,就需要创建一个绑定类型的服务。
要创建绑定类型的服务,你必须实现返回IBinder对象的onBind()回调方法,IBinder对象定义了跟服务进行通信的接口。然后其他应用程序组件能够调用bindService()方法获取这个接口对象,并开始调用这个服务的方法。绑定类型的服务只服务于绑定它的应用程序组件,因此当没有应用组件绑定这个服务时,系统就会销毁它。(你不必像样终止通过onStartCommand()方法启动的服务那样终止绑定类型服务)。
要创建绑定类型的服务,首先要定义接口,用于指定客户端怎样跟服务进行通信。服务和客户端的之间的接口必须是一个IBinder接口的实现,并且要求必须从onBind()回调方法返回这个接口对象。一旦客户端收到了IBinder对象,它就能通过这个接口开始与服务进行交互。
多个客户端能够同时绑定这个服务。当客户端完成与服务的交互时,它调用unbindService()方法来解绑。一旦没有客户端绑定这个服务了,系统就会销毁它。
有多种方法实现绑定类型的服务,并且实现要比启动类型服务更复杂,因此绑定类型服务会在独立的文档中(绑定类型服务)详细讨论。
相关文章推荐
- Android Service---创建绑定类型服务
- Android Service---创建一个被启动类型的服务
- Android 绑定类型服务---创建绑定类型的服务
- Android 绑定类型服务---创建绑定类型的服务
- Android 绑定类型服务---创建绑定类型的服务
- Android 绑定类型服务---创建绑定类型的服务
- Android Service学习之 Service生命周期 & 绑定类型服务& Binder类
- Android Service---创建一个被启动类型的服务
- Android创建服务之started service
- Android(java)学习笔记230:服务(service)之绑定服务的细节
- 【Android】利用服务Service创建标题栏通知
- Android系统在新进程中启动自定义服务过程(startService)的原理分析、Android应用程序绑定服务(bindService)的过程源代码分析
- Android 绑定类型服务---管理绑定类型服务的生命周期
- Android服务二 创建绑定服务
- Android应用中创建绑定服务使得用户可以与服务交互
- 深入剖析Android四大组件(二)——Service服务之启动与绑定
- Android服务Service详解(作用,生命周期,AIDL)系列文章--进一步封装绑定服务(私有化代理类)
- Android Service详解(七)---绑定服务BoundService详解之Messenger双向通信的实现
- Android 绑定类型服务---使用信使(Messenger)
- Android:Service(三)——Aidl绑定远程服务