电话录音服务只是内部进行录音以及调用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与服务进程内通信相关推荐

  1. 实现Android跨进程组件通信能有多简单?

    实现Android跨进程组件通信能有多简单? 作为一个Android开发,都要会点组件化知识.组件化的主要的特点,是剥离依赖,但组件间不直接依赖后,通信问题要怎么解决呢. 通常我们用的一下这种类似Bi ...

  2. 再谈Android Binder跨进程通信原理

    在谈Android的跨进程通信问题上时,总会问到Android的IPC机制,是指两个进程之间进行数据交换的过程.按操作系统的中的描述,线程是CPU调度最小的单元,同时线程是一种有限的系统资源,而进程是 ...

  3. Android系统将内置滤镜功能

    from: http://cblog.cc/2015/09/03/Android-Camera-%E5%AE%9E%E6%97%B6%E6%BB%A4%E9%95%9C/ 一.Android系统将内置 ...

  4. 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | Android 端实现 MethodChannel 通信 )

    文章目录 前言 一.Android 端 MethodChannel 构造函数 二.Android 端 setMethodCallHandler 方法 三.Android 端实现 MethodChann ...

  5. 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | Android 端实现 EventChannel 通信 )

    文章目录 前言 一.Android 端 EventChannel 构造函数 二.Android 端 setStreamHandler 方法 三.Android 端实现 EventChannel 通信步 ...

  6. 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | Android 端实现 BasicMessageChannel 通信 )

    文章目录 前言 一.Android 端 BasicMessageChannel 构造函数 二.Android 端 MessageCodec 子类实现 三.Android 端 setMessageHan ...

  7. Android与物联网设备通信-自定义报文与字节序

    前几节我们把网络通信中的基础都过了一遍,今天真正开始秀操作了.本节主要讲解如何在应用层上去定义报文的结构体.良好的报文设计会让今后的业务扩展变得轻松.顺带会讲解一下字节序. 可以发现最近的章节都把两个 ...

  8. android获取应用内自定义权限与权限使用情况

    先上图,看看最终我们可以得到什么样子的结果: 截图来自 android开发工具箱, 点我下载 android开发工具箱 应用内权限信息分为两个部分,我们先来看应用内权限使用情况. PackageMan ...

  9. ESP8266学习笔记:实现ESP8266的局域网内通信

    ESP8266学习笔记:实现ESP8266的局域网内通信 现在就以实例入手.工程使用的是IOT_DEMO,据DEMO文档可以知道ESP8266初始工作模式为softAP+station共存的模式.于是 ...

最新文章

  1. rsync同步服务实验讲解
  2. Nature子刊:基于水凝胶的灵活脑机接口
  3. 03:Poor Herobrine 直接插入排序
  4. 国内的IDC数据中心运营维护前景如何?
  5. 全文索引的使用(MySQL)
  6. kdj值应用口诀_KDJ买卖绝学!记住这些操作 精准判断quot;顶部和底部quot; 让你远离亏损...
  7. python网页登录验证码不显示_进网页需要验证码?不好意思,Python从来不惧各种验证码!...
  8. 记录spring、springboot集成apollo配置中心
  9. BZOJ3028 食物
  10. 关闭rlogin服务linux,Linux rlogin命令
  11. Future 接口介绍
  12. 计算两个经纬度之间的距离
  13. html rgb 颜色转换,将RGBA颜色转换为HTML颜色代码
  14. 点云算法在条码识别任务中的应用
  15. (进阶)python实现库存商品管理系统
  16. wps表格宏编辑器简单使用
  17. 鱼跃CMS-轻量开源企业CMS v1.4.6
  18. 论文排版的正确方式—LaTeX【分享贴】
  19. DVD影视光盘制作全程指导
  20. MyBioSource 丨艾美捷抗C17ORF75抗体:兔C17ORF75多克隆抗体

热门文章

  1. Thread 中的run() 与start() 方法
  2. VTK:不透明度用法实战
  3. opengl加载显示3D模型SMD类型文件
  4. wxWidgets:wxRibbonGallery类用法
  5. boost::sort模块实现整数排序测试
  6. boost::mpl模块实现count_if相关的测试程序
  7. boost::gursoy_atun_layout用法的测试程序
  8. GDCM:gdcm::Item的测试程序
  9. boost::core::bit_cast的测试程序
  10. Boost:在boost:array上使用constexpr进行测试