Android与服务进程内通信
电话录音服务只是内部进行录音以及调用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对象的引用。
Android与服务进程内通信相关推荐
- 实现Android跨进程组件通信能有多简单?
实现Android跨进程组件通信能有多简单? 作为一个Android开发,都要会点组件化知识.组件化的主要的特点,是剥离依赖,但组件间不直接依赖后,通信问题要怎么解决呢. 通常我们用的一下这种类似Bi ...
- 再谈Android Binder跨进程通信原理
在谈Android的跨进程通信问题上时,总会问到Android的IPC机制,是指两个进程之间进行数据交换的过程.按操作系统的中的描述,线程是CPU调度最小的单元,同时线程是一种有限的系统资源,而进程是 ...
- Android系统将内置滤镜功能
from: http://cblog.cc/2015/09/03/Android-Camera-%E5%AE%9E%E6%97%B6%E6%BB%A4%E9%95%9C/ 一.Android系统将内置 ...
- 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | Android 端实现 MethodChannel 通信 )
文章目录 前言 一.Android 端 MethodChannel 构造函数 二.Android 端 setMethodCallHandler 方法 三.Android 端实现 MethodChann ...
- 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | Android 端实现 EventChannel 通信 )
文章目录 前言 一.Android 端 EventChannel 构造函数 二.Android 端 setStreamHandler 方法 三.Android 端实现 EventChannel 通信步 ...
- 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | Android 端实现 BasicMessageChannel 通信 )
文章目录 前言 一.Android 端 BasicMessageChannel 构造函数 二.Android 端 MessageCodec 子类实现 三.Android 端 setMessageHan ...
- Android与物联网设备通信-自定义报文与字节序
前几节我们把网络通信中的基础都过了一遍,今天真正开始秀操作了.本节主要讲解如何在应用层上去定义报文的结构体.良好的报文设计会让今后的业务扩展变得轻松.顺带会讲解一下字节序. 可以发现最近的章节都把两个 ...
- android获取应用内自定义权限与权限使用情况
先上图,看看最终我们可以得到什么样子的结果: 截图来自 android开发工具箱, 点我下载 android开发工具箱 应用内权限信息分为两个部分,我们先来看应用内权限使用情况. PackageMan ...
- ESP8266学习笔记:实现ESP8266的局域网内通信
ESP8266学习笔记:实现ESP8266的局域网内通信 现在就以实例入手.工程使用的是IOT_DEMO,据DEMO文档可以知道ESP8266初始工作模式为softAP+station共存的模式.于是 ...
最新文章
- rsync同步服务实验讲解
- Nature子刊:基于水凝胶的灵活脑机接口
- 03:Poor Herobrine 直接插入排序
- 国内的IDC数据中心运营维护前景如何?
- 全文索引的使用(MySQL)
- kdj值应用口诀_KDJ买卖绝学!记住这些操作 精准判断quot;顶部和底部quot; 让你远离亏损...
- python网页登录验证码不显示_进网页需要验证码?不好意思,Python从来不惧各种验证码!...
- 记录spring、springboot集成apollo配置中心
- BZOJ3028 食物
- 关闭rlogin服务linux,Linux rlogin命令
- Future 接口介绍
- 计算两个经纬度之间的距离
- html rgb 颜色转换,将RGBA颜色转换为HTML颜色代码
- 点云算法在条码识别任务中的应用
- (进阶)python实现库存商品管理系统
- wps表格宏编辑器简单使用
- 鱼跃CMS-轻量开源企业CMS v1.4.6
- 论文排版的正确方式—LaTeX【分享贴】
- DVD影视光盘制作全程指导
- MyBioSource 丨艾美捷抗C17ORF75抗体:兔C17ORF75多克隆抗体
热门文章
- Thread 中的run() 与start() 方法
- VTK:不透明度用法实战
- opengl加载显示3D模型SMD类型文件
- wxWidgets:wxRibbonGallery类用法
- boost::sort模块实现整数排序测试
- boost::mpl模块实现count_if相关的测试程序
- boost::gursoy_atun_layout用法的测试程序
- GDCM:gdcm::Item的测试程序
- boost::core::bit_cast的测试程序
- Boost:在boost:array上使用constexpr进行测试