telephony从app及framework上来讲就一个进程phon应用,及一些系统服务。
telephony涉及到手机通信能力主要包括4个:call(通话),servicestate(服务状态),dataconnection(数据连接),sms(短信暂不介绍)。
三大tracker,telephony-1中介绍的calltracker,servicestatetracker,dataconnectiontrakcer。
1.CALL
首先介绍下call,拨号流程如下图:
来电流程
telephony通信模型总结
phone接口相关的类层次及继承关系
从calltracker看向ril发起call流程
2.SERVICESTATE
Servicestate:手机插入sim卡并成功启动后,BP modem会读取SIM卡中的IMSI信息(见前文uicc详解),完成SIM卡中信息的验证和电信运营商移动网络的注册,这样手机才能提供网络服务如打接电话,收发短信,上网等服务。而servicestate就是用来保存sim卡注册成功后电信运营商网络的一些基本服务信息:电信运营商编号,Radio无线通信模块使用的技术类型及状态,电信运营商网络是否处于漫游状态,无线网络信号强度等。
servicestate类关键常量
servicestate关键属性
servicestatetracker来管理servicestate,关键函数pollstate,pollstatedone轮训网络相关信息。
3.DATACONNECTION
android网络整体结构图
dataconnection状态转换图
开机创建default默认数据连接时序图
4.TELEPHONYMANAGER
系统服务类,与其他应用交互