|
个人分析:
" Y/ i5 Z+ U$ d6 ?! [因为发送的中文短信在Pre的记录里显示正常,就是说在信息发出前,都应该是正常的。问题应该在跟服务器交互的时候。于是开始找入手点。. e5 |7 X q& y+ r
2 F9 @3 x, V2 j3 e( H/ A
源码分析:
, f' V9 Q1 J' G/ ` X' U) \发SMS的核心是MessagingUtility中的两个方法,其中的一个是sendFromCompose。
0 D! k1 b0 a- S) H$ e t$ WMessagingUtility.sendFromCompose()中调用了/ B. {3 ~6 C: a J
if (smsRecips != null) {
4 w3 e* @* W) | if (smsAccount == null) {
" f F$ c {: ~. v w* ?; } smsAccount = StandardMsgAccount.getInstance();1 N6 }3 i' d3 m* r0 d7 Y( S6 v: Y
}
6 e" e" s) K3 [& z chatThreadToReturn = sendMessageHelper(smsAccount, false, smsRecips, smsContactMatches, false, null, messageText, summary, attachmentList, messagingPrefs, -1);# H2 Q a6 Y. @; g. \/ B* N
}
3 D5 R( x' I; s7 A" T/ u
6 I1 U5 X( J' b: e$ ]7 Q# L$ V8 [于是又跟踪,还是在MessagingUtility里
$ B) y' N* v1 {3 q7 J messageToBeSent = SMSMessage.createNewMessage(recipients, people, lookup, messageText, messagingPrefs);
7 m: o6 e# G4 z. y$ Z1 GchatToReturn = messageToBeSent.moveToFolder(folder, true, chatToSendFrom, people);" d9 C2 |3 h" J# d2 k0 P
J# z& D4 k# |) J0 M
接着找到RichMessage里的addMessageToFolder和doChatThreading。这时候就不知道是哪个发的短信了,而且也找不到下一步是什么。。。 |
|