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对象的引用。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目录
相关文章
|
1月前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
93 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
24天前
|
JavaScript 前端开发 Android开发
让Vite+Vue3项目在Android端离线打开(不需要起服务)
让Vite+Vue3项目在Android端离线打开(不需要起服务)
|
23天前
|
Java Android开发 数据安全/隐私保护
Android中多进程通信有几种方式?需要注意哪些问题?
本文介绍了Android中的多进程通信(IPC),探讨了IPC的重要性及其实现方式,如Intent、Binder、AIDL等,并通过一个使用Binder机制的示例详细说明了其实现过程。
120 4
|
1月前
|
调度 Android开发 UED
Android经典实战之Android 14前台服务适配
本文介绍了在Android 14中适配前台服务的关键步骤与最佳实践,包括指定服务类型、请求权限、优化用户体验及使用WorkManager等。通过遵循这些指南,确保应用在新系统上顺畅运行并提升用户体验。
55 6
|
11天前
|
安全 API 开发工具
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
Android平台扬声器播放声音的采集,在无纸化同屏等场景下,意义很大,早期低版本的Android设备,是没法直接采集扬声器audio的(从Android 10开始支持),所以,如果需要采集扬声器audio,需要先做系统版本判断,添加相应的权限。
|
11天前
|
编解码 开发工具 Android开发
Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务
Android平台屏幕采集、音频播放声音采集、麦克风采集编码打包推送到RTMP和轻量级RTSP服务的相关技术实现,做成高稳定低延迟的同屏系统,还需要有配套好的RTMP、RTSP直播播放器
|
2月前
|
API Android开发
Android P 性能优化:创建APP进程白名单,杀死白名单之外的进程
本文介绍了在Android P系统中通过创建应用进程白名单并杀死白名单之外的进程来优化性能的方法,包括设置权限、获取运行中的APP列表、配置白名单以及在应用启动时杀死非白名单进程的代码实现。
47 1
|
2月前
|
Linux
Linux源码阅读笔记13-进程通信组件中
Linux源码阅读笔记13-进程通信组件中
|
2月前
|
消息中间件 安全 Java
Linux源码阅读笔记13-进程通信组件上
Linux源码阅读笔记13-进程通信组件上
|
2月前
|
数据处理 开发工具 数据安全/隐私保护
Android平台RTMP推送|轻量级RTSP服务|GB28181接入之文字、png图片水印的精进之路
本文探讨了Android平台上推流模块中添加文字与PNG水印的技术演进。自2015年起,为了满足应急指挥及安防领域的需求,逐步发展出三代水印技术:第一代为静态文字与图像水印;第二代实现了动态更新水印内容的能力,例如实时位置与时间信息;至第三代,则优化了数据传输效率,直接使用Bitmap对象传递水印数据至JNI层,减少了内存拷贝次数。这些迭代不仅提升了用户体验和技术效率,也体现了开发者追求极致与不断创新的精神。

相关实验场景

更多
下一篇
无影云桌面