浏览 1755 次
锁定老帖子 主题:Android Long SMS
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-09
Android Long SMS
SEND:
ap在发送long sms之前,会调用Framework的SmsManager的divideMessage()函数,将信息进行切分,然后sendMultipartTextMessage()判断是否为long sms,如果是调用sendMultipartText,以long sms的方式发送出去,否则为generic sms
RECEIVE:
接收到long sms的时候,SMSDispatcher会检查sms是否有header & header.ConcatRef,如果存在,则为long sms的part,交给processMessagePart函数去处理
processMessagePart函数的处理流程: 1.根据long sms的reference_number & address query出和当前part相关的part信息(From raw table) 2.比对信息数量,看是否已经接收到了所有的parts 2.1如果没接收到所有的parts,将当前的part存储到DB 2.2如果接收到所有的parts,取出所有相关parts的相关数据进行拼接,然后从DB中删除所有相关的parts,发送广播
PS:long sms的parts存在DB中的raw表中 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |