6.2 发送流程分析
MmsService的mStub变量的sendMessage方法调用流程图如下,
sendMessage方法主要逻辑如下,
1,将要发送的内容等信息封装为SendRequest对象,
final SendRequest request = new SendRequest(MmsService.this, subId, contentUri,
locationUrl, sentIntent, callingPkg, configOverrides, MmsService.this);
2,调用addSimRequest方法,
addSimRequest(request);
addSimRequest方法主要将消息入队列,分别调用movePendingSimRequestsToRunningSynchronized和
addToRunningRequestQueueSynchronized方法进行处理,其实最后movePendingSimRequestsToRunningSynchronized还是
会调用addToRunningRequestQueueSynchronized方法,
synchronized (this) {
if (mPendingSimRequestQueue.size() > 0 ||
•••
mPendingSimRequestQueue.add(request);
•••
movePendingSi