Android RILCall学习总结.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AndroidRIL

Android RIL与Call代码学习总结 前言 本文分五部分:Android电信业务系统、RIL、Telephony APP Framework、Phone APP、Android通话简单流程。 Android电信业务系统主要叙述Android整个电信业务系统的软件架构。 RIL主要叙述Android Radio Interface Layer相关要点,涉及的代码主要放在\hardware\ril目录下。 Telephony APP Framework主要简述电信业务系统Framework部分代码相关要点,涉及的代码主要放在\frameworks\base\telephony目录下。 Phone APP主要叙述Android的电话业务模块,涉及的代码主要放在\packages\apps\Phone目录下。 Android通话简单流程主要叙述从上层Phone APP发起电话的函数调用流程。 Android电话业务系统 简单的说由三部分组成:Telephony Application(Java) + Telephony Frameworks(Java) + RIL(C/C++) RIL RIL(Radio Interface Layer),是Android电信业务系统和底层硬件之间的抽象层,Android提供该层方便用户移植。手机每次请求相应的电信服务,如电话、短信、网络连接等,都是通过AT指令与底层硬件进行交互的,拿电话来讲,用户请求拨打电话,需要向RIL发送相关的请求,接着RIL按照用户的请求,调用相应的AT指令发送接口给底层发送AT指令,完成用户拨打电话的流程。简单的说,对RIL的移植,主要是针对不同的设备针对AT指令做相应的修改。 RIL移植层的三个组成部分 Vendor RIL 提供AT指令发送接口 RIL Daemon 加载RIL相关的库同时初始化RIL,注册RIL相关函数接口。同时,RILD也是上层和底层RIL的调用中转站。 RIL JNI Layer RIL JNI接口,提供上层Telephony APP Framework调用 RIL的初始化流程 加载ril.lib ( RIL_Init() ( RIL_register(),详细可见ridl.c中的main()函数。 RIL接口的调用方式 有两种方式:主动请求(Solicited)和被动请求(Unsolicited) 1)主动请求 2)被动请求 void (*OnUnsolicitedResponse)(int unsolResponse, const void *data,size_t datalen); 涉及的主要源代码文件 1)reference-ril.c 本文件涉及的重要内部函数及功能 requestRadioPower 开启通讯模块 requestQueryNetworkSelectionMode 查询网络模式 requestGetCurrentCalls 获取当前通话 requestDial 请求呼叫 requestWriteSmsToSim 写入短信至SIM卡 requestHangup 挂断电话 requestSignalStrength 获取信号强度 requestRegistrationState 获取卡注册状态 requestOperator 获取运营商名称 requestSendSMS 请求发送短信 requestSetupDataCall 拨号上网 requestSMSAcknowledge 短信回报 requestEnterSimPin 请求输入SIM PIN码 requestSendUSSD 请求USSD业务 本文件提供给ril.cpp调用的外部接口 RIL_Init RIL初始化 onRequest AT请求指令接口(异步方式) getVersion 获取RIL版本号,当前为android reference-ril 1.0 onUnsolicited AT请求指令接口(同步方式) 2)ril.cpp 该文件主要提供ril.java调用接口,实现RIL的JNI调用方式、RIL Event管理机制 实现了供上层调用的接口 typedef struct { int requestNumber; void (*dispatchFunction) (Parcel p, struct RequestInfo *pRI); int(*responseFunction) (Parcel p, void *response, size_t responsel

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档