|
个人分析:; O6 I: X; l3 o+ w5 ?
因为发送的中文短信在Pre的记录里显示正常,就是说在信息发出前,都应该是正常的。问题应该在跟服务器交互的时候。于是开始找入手点。) X; W. R+ X3 a1 V* o# j$ c1 N
1 s! T. g* {9 d$ }' j源码分析:
1 i3 d- ?+ V& F" h发SMS的核心是MessagingUtility中的两个方法,其中的一个是sendFromCompose。" Q* }7 w6 H9 J3 u8 F; {8 X1 K
MessagingUtility.sendFromCompose()中调用了, r7 d) T$ K6 A7 Q! t) D1 c: j
if (smsRecips != null) {
3 ^" X1 P! \. y& w) ^. G0 {, | if (smsAccount == null) {
; b- S1 B' K8 P+ m6 B3 x( I, a smsAccount = StandardMsgAccount.getInstance();
4 Q& Q/ h/ |' [9 j; v }3 t/ \6 \" s* t2 a7 c
chatThreadToReturn = sendMessageHelper(smsAccount, false, smsRecips, smsContactMatches, false, null, messageText, summary, attachmentList, messagingPrefs, -1);7 r) M( u2 Y# w7 o
}4 v( b0 P; n0 T/ e- Q
5 h1 [5 a8 E9 W4 W于是又跟踪,还是在MessagingUtility里
( S# \2 ~; Y. T3 n0 S m messageToBeSent = SMSMessage.createNewMessage(recipients, people, lookup, messageText, messagingPrefs);6 z' o! d# Q! Z
chatToReturn = messageToBeSent.moveToFolder(folder, true, chatToSendFrom, people);8 m% T* U, L3 l0 G
, R) a- U, s: k4 Z* Z接着找到RichMessage里的addMessageToFolder和doChatThreading。这时候就不知道是哪个发的短信了,而且也找不到下一步是什么。。。 |
|