Android与服务进程内通信

简介: 电话录音服务只是内部进行录音以及调用PhoneManager对象。许多时候服务在处理业务后需要和其它程序进行通信。.startService()和stopService()适用于调用者和服务者之间没有交互的情况,否则应该适用bindSerivce()和unbindService()方法   调用bindService()方法时: 1.       服务若没有创建 s.onCre

电话录音服务只是内部进行录音以及调用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()-à服务于访问者绑定在一起。

如果访问者退出:

sonUnBind()-às.onDestroy();

2.服务已经创建

不会导致调用多次服务的创建(onCreate())和绑定(onBind()),如果解除绑定可调用unbindService()方法,系统同样会调用服务的onUnbind()-àonDestroy()方法。

 

onBind()只有调用bindService()方法才会触发该方法的调用。如果服务已经被绑定,该方法不会被执行多次。

 

onUnbind()方法只有调用unbindService()方法才会导致该方法的执行。

 

客户端和服务通过Ibinder对象联系在一起。bindService()方法调用时,需要Intent,ServiceConnectionflag参数,其中serviceConnection对象用于接收服务onBind()方法,返回的Ibinder对象,并且该对象会传入到第二个参数serviceConnection对应的方法中,触发方法的回调,总而言之,使用客户端持有到达service对象的引用。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目录
相关文章
|
12天前
|
Android开发
Android JNI与CAN通信遇到的问题总结
Android JNI与CAN通信遇到的问题总结
40 1
|
12天前
|
Java API 调度
Android系统 自定义开机广播,禁止后台服务,运行手动安装应用接收开机广播
Android系统 自定义开机广播,禁止后台服务,运行手动安装应用接收开机广播
54 0
|
12天前
|
Android开发
Android 11 添加Service服务SELinux问题
Android 11 添加Service服务SELinux问题
66 1
|
5天前
|
安全
【进程通信】信号的捕捉原理&&用户态与内核态的区别
【进程通信】信号的捕捉原理&&用户态与内核态的区别
|
5天前
|
Shell
【进程通信】利用管道创建进程池(结合代码)
【进程通信】利用管道创建进程池(结合代码)
|
12天前
|
Linux
【Linux】命名管道的创建方法&&基于命名管道的两个进程通信的实现
【Linux】命名管道的创建方法&&基于命名管道的两个进程通信的实现
|
12天前
|
Linux
【Linux】进程通信之匿名管道通信
【Linux】进程通信之匿名管道通信
|
3天前
|
存储 安全 调度
【操作系统】进程控制与进程通信
【操作系统】进程控制与进程通信
13 3
|
5天前
|
NoSQL Linux Shell
【进程通信】了解信号以及信号的产生
【进程通信】了解信号以及信号的产生
|
5天前
【进程通信】Syetem V 共享内存(结合代码模拟通信)
【进程通信】Syetem V 共享内存(结合代码模拟通信)