cdma smsmessage.java_Android源码分析--CDMA短信状态报告

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->parseSms0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值