Android Telephony原理解析与开发指南
2020-04-15 15:24:41 0 举报
AI智能生成
Android Telephony原理解析与开发指南
作者其他创作
大纲/内容
6 Voice Call语音通话模型
6.1 详解GsmCdmaCallTracker
6.1.1 代码结构解析
6.1.2 Handler消息处理方式
6.1.3 与RILJ对象的交互机制
6.2 handlePollCalls方法
6.2.1 准备阶段
6.2.2 更新通话相关信息
6.2.3 发出通知
6.2.4 更新mState
6.3 通话管理模型分析
6.3.1 GsmCdmaCall
6.3.2 GsmCdmaConnection
6.3.3 DriverCall、Call、Connection
6.4 补充通话连接断开处理机制
6.4.1 本地主动挂断通话
6.4.2 远端断开通话连接
6.5 区分Connection
6.6 扩展InCallUi
6.6.1 初始化过程
6.6.2 addCall
6.6.3 InCallUi通话界面
6.6.4 updateCall
6.7 验证Call运行模型
6.7.1 Telephony Voice Call
6.7.2 Telecom Call
6.7.3 InCallUi Call
本章小结
7 ServiceState网络服务
7.1 ServiceState
7.1.1 ServiceState类的本质
7.1.2 关键常量信息
7.1.3 关键属性
7.1.4 关键方法
7.2 ServiceStateTracker运行机制详解
7.2.1 核心类图
7.2.2 代码结构
7.2.3 Handler消息处理机制
7.2.4 与RILJ对象的交互机制
7.3 handlePollStateResult方法
7.3.1 异常处理
7.3.2 handlePollStateResultMessage
7.3.3 继续更新mNewSS
7.3.4 完成收尾工作
7.4 *#*#4636#*#*测试工具
7.4.1 网络服务信息
7.4.2 扩展ITelephonyRegistry
7.4.3 展示小区信息
7.4.4 小区信息更新源头
7.4.5 信号强度实时变化
7.5 飞行模式
7.5.1 飞行模式开启关闭入口逻辑
7.5.2 Radio模块开启关闭
7.5.3 WiFi模块开启关闭
7.5.4 蓝牙模块开启关闭
7.6 扩展SIM卡业务
7.6.1 SIM卡业务分析
7.6.2 驻网过程分析
7.6.3 SoftSim业务实现分析
本章小结
8 Data Call移动数据业务
8.1 DcTracker初始化过程
8.1.1 Handler消息注册
8.1.2 初始化ApnContext
8.1.3 认识APN
8.1.4 创建DcController
8.1.5 注册Observer
8.1.6 广播接收器
8.1.7 加载ApnSetting
8.2 解析StateMachine
8.2.1 State设计模式
8.2.2 StateMachine核心类
8.2.3 初始化流程
8.2.4 运行流程
8.2.5 小结
8.3 DataConnection
8.3.1 关键属性
8.3.2 关键方法
8.3.3 StateMachine初始化流程
8.4 开启移动数据业务
8.4.1 流程分析
8.4.2 前置条件分析
8.4.3 DcActiveState收尾工作
8.4.4 Suspend挂起状态
8.4.5 查看手机上网基本信息
8.5 关闭移动数据业务
8.6 DataConnection状态转换
8.7 获取Android手机上网数据包
8.7.1 使用tcpdump工具抓取TCP/IP数据包
8.7.2 使用Wireshark软件分析TCP/IP数据包
本章小结
9 SMS&MMS业务
9.1 短信发送流程
9.1.1 进入短信应用
9.1.2 短信编辑界面
9.1.3 Action处理机制
9.1.4 继续跟进短信发送流程
9.1.5 phone进程中的短信发送流程
9.2 扩展短信发送业务
9.2.1 确认短信发送结果
9.2.2 重发机制
9.2.3 状态报告
9.3 短信接收流程
9.3.1 RIL接收短信消息
9.3.2 GsmInboundSmsHandler
9.3.3 Messaging应用接收新短信
9.3.4 PDU
9.3.5 短信业务小结
9.4 彩信关键业务逻辑
9.4.1 彩信发送入口
9.4.2 imms系统服务
9.4.3 彩信发送流程
9.4.4 Data Call
9.4.5 doHttp
9.4.6 接收彩信
9.4.7 MmsService小结
本章小结
10 Radio Interface Layer
10.1 解析RILJ
10.1.1 认识RIL类
10.1.2 RILRequest
10.1.3 IRadio关联的服务
10.1.4 RIL消息分类
10.1.5 Solicited Request
10.1.6 Solicited Response
10.1.7 UnSolicited
10.2 详解rild
10.2.1 RIL_startEventLoop
10.2.2 获取RIL_RadioFunctions
10.2.3 注册RIL_RadioFunctions
10.3 libril初始化流程
10.3.1 RIL_startEventLoop
10.3.2 RIL_register
10.4 扩展hal接口
10.4.1 增加接口定义
10.4.2 验证生成的代码
10.4.3 实现新增接口
10.4.4 运行结果验证
10.5 RILC运行机制
10.5.1 Solicited消息
10.5.2 UnSolicited消息
本章小结
1 初识Android
1.1 智能手机的系统结构
1.2 Android系统架构
1.2.1 应用层
1.2.2 应用框架层
1.2.3 系统运行库层
1.2.4 核心层
1.3 Android Telephony框架结构
1.3.1 系统运行库层的HAL
1.3.2 简析HAL结构
1.3.3 Android为什么引入HAL
1.3.4 Android中HAL的运行结构
本章小结
2 搭建Android源代码编译调试环境
2.1 Ubuntu Linux操作系统及工具安装
2.1.1 PC配置建议
2.1.2 Ubuntu安装光盘制作
2.1.3 Ubuntu安装过程
2.1.4 安装OpenJDK
2.1.5 Ubuntu系统工具包更新升级
2.2 Android源代码下载及编译过程
2.2.1 工作目录设置
2.2.2 源代码下载
2.2.3 开始编译Android源代码
2.2.4 编译单个模块
2.3 Android Studio及SDK
2.3.1 下载和配置Android Studio
2.3.2 Android SDK下载及配置和使用
2.3.3 使用Android SDK启动Android虚拟设备
2.3.4 Android调试工具adb的使用方法
2.3.5 相关技巧汇总
2.4 在Google手机上调试Android源码
2.4.1 Google手机对应编译选项
2.4.2 Google手机刷入工厂镜像
2.4.3 编译本地镜像并刷入Google手机
2.4.4 Google手机上调试Android源码
2.4.5 关键问题总结
本章小结
3 深入解析通话流程
3.1 拨号流程分析
3.1.1 打开Nexus 6P手机的拨号盘
3.1.2 进入拨号界面DialtactsActivity
3.1.3 DialpadFragment拨号盘
3.1.4 ITelecomService接收拨号请求服务
3.1.5 CallsManager拨号流程处理
3.1.6 IInCallService服务的响应过程
3.1.7 继续分析CallsManager.placeOutgoingCall
3.1.8 Telecom应用拨号流程回顾与总结
3.1.9 IConnectionService服务的响应过程
3.1.10 TelecomAdapter接收消息回调
3.1.11 拨号流程总结
3.2 来电流程分析
3.2.1 分析radio来电日志
3.2.2 UNSOL_RESPONSE_CALL_STATE_CHANGED消息处理
3.2.3 扩展RegistrantList消息处理机制
3.2.4 GsmCdmaCallTracker消息处理
3.2.5 ITelecomService处理来电消息
3.2.6 来电流程总结
3.3 通话总结
3.3.1 通话关键代码汇总
3.3.2 通话状态更新消息上报流程
3.3.3 控制通话消息下发流程
3.4 建立Android通话模型
本章小结
4 详解Telecom
4.1 Telecom应用加载入口
4.1.1 TelecomManager类核心逻辑分析
4.1.2 Telecom应用代码汇总
4.1.3 ITelecomService的onBind过程
4.1.4 第二个拨号入口
4.2 Telecom交互模型
4.2.1 汇总frameworks/base/telecomm代码
4.2.2 绑定IInCallService机制
4.2.3 绑定IConnectionService机制
4.2.4 演进Telecom交互模型
4.3 核心Listener回调消息处理
4.3.1 CallsManagerListener
4.3.2 Call.Listener
4.3.3 CreateConnectionResponse
4.3.4 总结Listener消息
4.4 扩展CallsManager
4.4.1 记录通话日志
4.4.2 耳机Hook事件
4.4.3 通知栏信息同步
本章小结
5 详解TeleService
5.1 加载过程分析
5.1.1 应用基本信息
5.1.2 PhoneGlobals.onCreate
5.1.3 TelephonyGlobals.onCreate
5.2 Telephony Phone
5.2.1 GsmCdmaPhone
5.2.2 Composition(组合)关系
5.2.3 Facade Pattern
5.2.4 Handler消息处理机制
5.3 扩展PhoneAccount
5.3.1 PhoneAccount初始化过程
5.3.2 PhoneAccount注册响应
5.3.3 PhoneAccount在拨号流程中的作用分析
5.3.4 小结
5.4 TeleService服务
5.4.1 phone系统服务
5.4.2 isub系统服务
5.4.3 IConnectionService应用服务
本章小结
0 条评论
下一页