Android与服务进程内通信
2012-08-02 10:47
260 查看
电话录音服务只是内部进行录音以及调用PhoneManager对象。许多时候服务在处理业务后需要和其它程序进行通信。.startService()和stopService()适用于调用者和服务者之间没有交互的情况,否则应该适用bindSerivce()和unbindService()方法
调用bindService()方法时:
1. 服务若没有创建
s.onCreate()--às.onBind()-à服务于访问者绑定在一起
如果访问者退出:
s.onUnBind()às.onDestroy();
2.服务已经创建
不会导致调用多次服务的创建(onCreate()和绑定(onBind()),如若解除绑定可调用unbindService()方法,系统同样会调用服务的onUnbind()-àonDestory()方法。
onBind()只有调用bindService()方法才会触发方法的调用,如果服务已经被绑定,该方法不会执行多次
onUnbind()方法只有调用unbindService()方法才会导致该方法的执行。
电话录音服务只是在服务内部进行录音以及调用PhoneManager对象,许多时候服务在处理业务后,需要和其它程序进行通信.startService()和stopservice()使用使用者和服务之间没有交互的情况,否则应该使用bindService()和unbindService()方法。
调用bindService()方法时:
1. 服务若没有创建
s.onCreate()-às.onBind()-à服务于访问者绑定在一起。
如果访问者退出:
s.onUnBind()-às.onDestroy();
2.服务已经创建
不会导致调用多次服务的创建(onCreate())和绑定(onBind()),如果解除绑定可调用unbindService()方法,系统同样会调用服务的onUnbind()-àonDestroy()方法。
onBind()只有调用bindService()方法才会触发该方法的调用。如果服务已经被绑定,该方法不会被执行多次。
onUnbind()方法只有调用unbindService()方法才会导致该方法的执行。
客户端和服务通过Ibinder对象联系在一起。bindService()方法调用时,需要Intent,ServiceConnection和flag参数,其中serviceConnection对象用于接收服务onBind()方法,返回的Ibinder对象,并且该对象会传入到第二个参数serviceConnection对应的方法中,触发方法的回调,总而言之,使用客户端持有到达service对象的引用。
调用bindService()方法时:
1. 服务若没有创建
s.onCreate()--às.onBind()-à服务于访问者绑定在一起
如果访问者退出:
s.onUnBind()às.onDestroy();
2.服务已经创建
不会导致调用多次服务的创建(onCreate()和绑定(onBind()),如若解除绑定可调用unbindService()方法,系统同样会调用服务的onUnbind()-àonDestory()方法。
onBind()只有调用bindService()方法才会触发方法的调用,如果服务已经被绑定,该方法不会执行多次
onUnbind()方法只有调用unbindService()方法才会导致该方法的执行。
电话录音服务只是在服务内部进行录音以及调用PhoneManager对象,许多时候服务在处理业务后,需要和其它程序进行通信.startService()和stopservice()使用使用者和服务之间没有交互的情况,否则应该使用bindService()和unbindService()方法。
调用bindService()方法时:
1. 服务若没有创建
s.onCreate()-às.onBind()-à服务于访问者绑定在一起。
如果访问者退出:
s.onUnBind()-às.onDestroy();
2.服务已经创建
不会导致调用多次服务的创建(onCreate())和绑定(onBind()),如果解除绑定可调用unbindService()方法,系统同样会调用服务的onUnbind()-àonDestroy()方法。
onBind()只有调用bindService()方法才会触发该方法的调用。如果服务已经被绑定,该方法不会被执行多次。
onUnbind()方法只有调用unbindService()方法才会导致该方法的执行。
客户端和服务通过Ibinder对象联系在一起。bindService()方法调用时,需要Intent,ServiceConnection和flag参数,其中serviceConnection对象用于接收服务onBind()方法,返回的Ibinder对象,并且该对象会传入到第二个参数serviceConnection对应的方法中,触发方法的回调,总而言之,使用客户端持有到达service对象的引用。
相关文章推荐
- android 进程间服务通信示例
- Android进程间服务通信示例
- Android与服务进程内通信
- Android开发之使用AIDL和远程服务实现进程通信
- android进程间服务通信
- 简单的android进程间(远程)服务通信示例【AIDL方式】
- Android开发之通过AIDL服务实现进程间的通信
- android进程间服务通信示例
- Android Service Messenger & AIDL 的跨进程通信例子 推荐
- Android SERVICE后台服务进程的自启动和保持
- Android SERVICE后台服务进程的自启动和保持
- Android学习之跨进程通信安卓接口定义语言AIDL(二)
- android进程间数据通信
- AIDL Android跨进程通信调用实例
- android后台服务service全解析(上)--service的使用与本地通信
- Android 利用Messenger进行跨进程通信
- 【Android应用开发技术:网络通信】网络服务可发现基本原理
- [置顶] Android开发知识(四)Android进程间Binder通信机制的源码分析(下)
- Android 学习笔记 Service服务与远程通信...(AIDL)
- Android进程间的通信