|
个人分析:
8 |9 m; [" C& z+ g2 v因为发送的中文短信在Pre的记录里显示正常,就是说在信息发出前,都应该是正常的。问题应该在跟服务器交互的时候。于是开始找入手点。: A" Z: z0 M. L+ ?/ r( i
- w( Q2 Y9 P# F- ^4 w源码分析:0 i2 ? E$ w0 I6 c) Y
发SMS的核心是MessagingUtility中的两个方法,其中的一个是sendFromCompose。& v! |$ x0 Q1 R/ b9 ~
MessagingUtility.sendFromCompose()中调用了
3 C( p. }$ m" }! B( g7 w P2 K0 U if (smsRecips != null) {
: ~' `/ A' H. u! C' a0 E; d if (smsAccount == null) {5 H& }2 f% Y+ T. D# F
smsAccount = StandardMsgAccount.getInstance();
* f& Y( z; Q) d+ ?) {' z7 m. Z }
q# v& j7 P' h* C% p chatThreadToReturn = sendMessageHelper(smsAccount, false, smsRecips, smsContactMatches, false, null, messageText, summary, attachmentList, messagingPrefs, -1);
u: V: ^4 @$ a$ m/ I1 ? }
' w% J# L0 H4 n9 U; u+ F; w( P" W/ a, }, i- v1 v% S# B
于是又跟踪,还是在MessagingUtility里
X- W; R: n* ?! j, l messageToBeSent = SMSMessage.createNewMessage(recipients, people, lookup, messageText, messagingPrefs);
. i& ]/ ], C+ _chatToReturn = messageToBeSent.moveToFolder(folder, true, chatToSendFrom, people);1 x: m2 _: K% V$ r, c l
: G |! X7 M5 b' D接着找到RichMessage里的addMessageToFolder和doChatThreading。这时候就不知道是哪个发的短信了,而且也找不到下一步是什么。。。 |
|