短信发送流程

短信发送流程

ComposeMessageActivity.java

当点击发送按钮的时候

短信发送流程_第1张图片

ComposeMessageActivity.java  --->confirmSendMessageIfNeeded()



短信发送流程_第2张图片

ComposeMessageActivity.java--->sendMessage()

短信发送流程_第3张图片

WorkingMessage.java--->Send()

If里面是彩信我们现在只关心短信else{},在这里首先拿到短信内容开线程调用preSendSmsWorker继续发送短信

短信发送流程_第4张图片


WorkingMessage.java--->preSendSmsWorker()

短信发送流程_第5张图片

首先获取smsMessagesSender对象调用sendMesage方法

短信发送流程_第6张图片

SmsMessageSender.java--->queueMessage()

短信添加到待发送数据库中等待发送,发送广播调用SmsReceiverService.ACTION_SEND_MESSAGE


短信发送流程_第7张图片


SmsReceiverServic.java--->.handleMessage

接收广播响应ACTION_SEND_MESSAGE

如果不是sending中短信sendFirstQueuedMessage查询待发送数据库短信

短信发送流程_第8张图片

查询待发送短信数据获取数据调用SmsSingleRecipientSender.sendMessage

短信发送流程_第9张图片

SmsSingleRecipientSender.java--->sendMessage

如果是多条短信,拆分发送,且获取到拆分条数


短信发送流程_第10张图片
短信发送流程_第11张图片


最后调用框架接口发送


短信发送流程_第12张图片

你可能感兴趣的:(短信发送流程)