欢迎来到天天文库
浏览记录
ID:59522746
大小:333.26 KB
页数:30页
时间:2020-11-06
《手机开发培训 10_Android的电话部分.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android的电话部分Android的电话部分第一部分Android电话部分的综述第二部分Modem驱动第三部分Android电话的的本地RIL层第四部分电话部分JAVA框架及应用第一部分Android电话部分的结构Android作为一个智能手机平台,电话(Telephony)部分的功能自然是重点。电话部分的主要功能是呼叫(Call)、短信(Sms)、数据连接(DataConnection)以及SIM卡、电话本等功能。本章将介绍绝大多数功能的实现框架。Android电话部分主要分为:Modem驱动、RIL(RadioInterfaceLayer)、电话服务框架
2、、应用4层结构。第一部分Android电话部分的结构Calling,SMS……JAVAAplicationandroid.telephony.*com.android.internal.telephony.*RILPartSocket“Rild”JAVAFrameworkrilddeamonRIL_startEventLoop()dlopeninterfaceRIL_register()RIL_onRequestComplete()RIL_InitRIL_onUnsolicitedResponse()RIL_RadioFunctionsRIL_requestTimedC
3、allback()libreference-ril.solibril.soNativeFrameworkKernelSpaceRILdriver(UART,SDIO,USB)第二部分Modem驱动实现电话功能的主要硬件是通信模块(Modem),Modem通过与通信网络进行沟通传输语音及数据,完成呼叫、短信等相关电话功能。对于大部分目前的独立通信模块而言,无论是2G还是3G都已经非常成熟,模块化相当完善,硬件接口非常简单,也有着相对统一的软件接口。一般的Modem模块装上SIM卡,直接上电即可工作,自动完成初始的找网、网络注册等工作,完成之后即可打电话、发短信等。但独立模
4、块因为体积问题,在手机设计中较少使用,而是使用chip-on-board的方式。另外也有不少Modem基带与应用处理器共存。第三部分Android电话的的本地RIL层3.1简介3.2RILD守护进程3.3libril库3.4RIL的实现库ReferenceRIL3.5Request(请求)流程3.6Response(响应)流程3.7RIL的移植工作第一部分Android电话部分的结构RadioInterfaceLayer(RIL)提供了电话服务和的radio硬件之间的抽象层。RIL负责数据的可靠传输、AT命令的发送以及response的解析。应用处理器通过AT命令集与带
5、GPRS功能的无线通讯模块通信。ATcommand由Hayes公司发明,是一个调制解调器制造商采用的一个调制解调器命令语言,每条命令以字母"AT"开头。第三部分Android电话的的本地RIL层本地代码:RIL支持的本地代码包括ril库和守护进程:hardware/ril/includehardware/ril/librilhardware/ril/rildhardware/ril/reference-ril编译结果是/system/bin/rild:守护进程/system/lib/libril.so:RIL的库/system/lib/libreference-ril.
6、so:RIL参考库3.1简介hardware/ril/include目录中的ril.h头文件是Android的RIL框架的结构和接口,包括各种数据结构,枚举值,定义各种以RIL_开头的命令整数值。宏RIL_SHLIB用于区分这个头文件在不同地方的定义。#ifdefRIL_SHLIBstructRIL_Env{void(*OnRequestComplete)(RIL_Tokent,RIL_Errnoe,void*response,size_tresponselen);void(*OnUnsolicitedResponse)(intunsolResponse,constvo
7、id*data,size_tdatalen);void(*RequestTimedCallback)(RIL_TimedCallbackcallback,void*param,conststructtimeval*relativeTime);};constRIL_RadioFunctions*RIL_Init(conststructRIL_Env*env,intargc,char**argv);#else/*RIL_SHLIB*/voidRIL_register(constRIL_RadioFunctions*callbacks);voi
此文档下载收益归作者所有