Android源码分析--CDMA短信状态报告
2011-09-03 18:06
316 查看
RIL.java--的类RILReceiver中函数run检测socket事件,读取到信息后就调用函数:
RIL.java—processResponse,该函数如果发现该信息是主动上报,则调用:
RIL.java --函数processUnsolicited接收到RIL层的主动上报后调用:
RIL.java—函数responseCdmaSms调用:
SmsMessage.java—函数SmsMessage.newFromParcel,注意GSM和CDMA该函数有不同的形式。
在这个函数中根据ril中传送上来的值填充SmsMessage类 msg,在该类的子类中存在一个变量pdu,这个函数会根据主动上报的结构体来构造这个PDU串。
。。。。。。
cdmaSMSDispatcher.java--类cdmaSMSDispatcher中,dispatchMessage函数会被调用,在这个函数中根据不同的短信类别调用不同的处理函数,这里我们以短信发送的状态报告为例子,会调用函数:
cdmaSMSDispathcer.java--handleCdmaStatusReport来发送intent.send
MessageStatusReceiver.java--onReceive函数会接收到该intent, 该函数会调用:
MessageStatusReceiver.java--updateMessageStatus会从接收到的PDU串中创建SmsMessage类,message, 并将短信发送的状态写入到数据库中,主要的调用函数顺序为:->createFromPdu->parsePdu->parseSms
RIL.java—processResponse,该函数如果发现该信息是主动上报,则调用:
RIL.java --函数processUnsolicited接收到RIL层的主动上报后调用:
RIL.java—函数responseCdmaSms调用:
SmsMessage.java—函数SmsMessage.newFromParcel,注意GSM和CDMA该函数有不同的形式。
在这个函数中根据ril中传送上来的值填充SmsMessage类 msg,在该类的子类中存在一个变量pdu,这个函数会根据主动上报的结构体来构造这个PDU串。
。。。。。。
cdmaSMSDispatcher.java--类cdmaSMSDispatcher中,dispatchMessage函数会被调用,在这个函数中根据不同的短信类别调用不同的处理函数,这里我们以短信发送的状态报告为例子,会调用函数:
cdmaSMSDispathcer.java--handleCdmaStatusReport来发送intent.send
MessageStatusReceiver.java--onReceive函数会接收到该intent, 该函数会调用:
MessageStatusReceiver.java--updateMessageStatus会从接收到的PDU串中创建SmsMessage类,message, 并将短信发送的状态写入到数据库中,主要的调用函数顺序为:->createFromPdu->parsePdu->parseSms
相关文章推荐
- 源码解析--Android视图状态及重绘流程分析
- Android源码分析--CDMA/GSM分支切换
- Android抢先截获短信(源码分析)
- Android短信接收过程源码分析(原)
- Android WifiDisplay 源码分析总结报告说明
- Android短信接收过程源码分析
- Android短信源码分析 --PDU解析过程
- Android源码学习笔记1-短信发送流程分析
- 短信发送后报告发送成功之源码分析
- 从源码上分析Android View保存数据状态
- Android短信源码分析 --PDU解析过程
- Android 短信模块分析(一) Mms功能概述及源码目录结构分析
- Android短信发送和接收流程源码分析
- android 短信状态报告问题
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- Android蓝牙源码分析——BTA层消息分发
- UiAutomator系列——Appium Android Bootstrap源码分析之控件AndroidElement(007)
- Android源码分析之Binder进程间通信一
- Android源码分析-全面理解Context
- Android 从源码角度分析消息处理机制(Handler,Looper,Message)