Android 6.0 Telephony框架详解:短信/语音/数据模块新变革

需积分: 9 3 下载量 28 浏览量 更新于2024-09-08 收藏 830KB PDF 举报
Android6.0的Telephony框架是Android操作系统中的一个重要组件,负责处理电话、短信(SMS)、彩信(MMS)以及数据通信的功能。在6.0版本中,Telephony框架的结构和实现相比之前的Android 5.1.1有了显著的调整,主要体现在messaging和voicecall模块。 首先,让我们回顾一下Android 5.1.1的Telephony架构,它大致可以分为以下几个部分: 1. **Manager和服务层**:这个层次包括诸如Dialer、Contacts、Messaging、Voicecall、Setting、Email等应用,它们直接与用户界面交互,处理电话拨打、联系人管理、短信和语音通话等基本功能。 2. **RILD Manager和服务**:Radio Interface Layer for Data (RILD)是底层驱动程序,负责与手机的SIM卡和基带通信,提供网络连接服务。 3. **Content Provider**:用于管理数据存储,如联系人信息、短信内容等,通过统一的数据访问接口对外提供服务。 4. **框架层**:主要包括各种与Telephony功能相关的类,如ConnectivityManager、ConnectivityService等,它们处理网络连接和数据传输。 然而,在Android 6.0中,Telephony框架进行了如下关键更新: - **messaging模块**:在新的架构中,MVC(Model-View-Controller)模式被引入,使得界面和业务逻辑分离。此外,增加了MMSService,专门处理MMS,这可能导致原有的发送流程有所变化。 - **voicecall模块**:尽管具体结构没有详述,但可以推测可能优化了语音通话的相关服务,或者引入了新特性。 - **代码差异**:从diff工具和grep命令中可以看到,Android 6.0与5.1.1的代码层面存在明显改动,这意味着直接将两者合并不可行,需要分别分析和处理。 - **新增Receiver和服务**:Android 6.0引入了更多的接收器(Receiver)和服务,这可能是为了增强用户体验和功能扩展。 - **Message结构变化**:在处理短信时,由于MVC模式的应用和MMSService的出现,消息处理逻辑和类结构也相应调整。 总结来说,从Android 5.1.1到6.0,Telephony框架经历了重要的结构优化和功能增强,开发者在升级到新版本时,需要仔细研究并根据新引入的组件和接口进行代码重构和适配。虽然两者都提供了短信和电话服务,但为了保持系统的稳定性和性能,不能简单地替换旧代码,而是需要针对每个模块进行深入理解和定制化开发。