Android 2.3发短信详细流程(4)

来源:未知 责任编辑:责任编辑 发表时间:2015-03-01 01:34 点击:

        sendRawPdu(pdu.encodedScAddress, pdu.encodedMessage, sentIntent, deliveryIntent);
    }
......

到这儿,"sendText()"这个字眼就没了,换成了另外一个方法名:sendRawPdu(),追踪这个方法可以发现它是SMSDispatcher.java的一个方法,这个类看着很眼熟吧?不错,在第四阶段我们已经和它打过交道了!我们来看看它的sendRawPdu到底是干嘛的:view plaincopy to clipboardprint?protected void sendRawPdu(byte[] smsc, byte[] pdu, PendingIntent sentIntent, 
            PendingIntent deliveryIntent) { 
           ...... 
           sendSms(tracker); 
           ..... 
 } 
protected void sendRawPdu(byte[] smsc, byte[] pdu, PendingIntent sentIntent,
            PendingIntent deliveryIntent) {
           ......
           sendSms(tracker);
           .....
 }又来了一个新方法名:sendSms(),从sendRawPdu()传来的信息经过封装传递给sendSms()方法进行处理,而在SMSDispatcher.java中,这个方法只是声明了一下,它的具体实现由子类:GsmSMSDispatcher.java完成。下面我们来看GsmSMSDispatcher.java
7. 第六阶段:GsmSMSDispatcher.java(frameworks/base/telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java)

GsmSMSDispatcher.java的sendSms()方法核心代码如下:

view plaincopy to clipboardprint?protected CommandsInterface mCm; 
 
protected void sendSms(SmsTracker tracker) { 
        HashMap map = tracker.mData; 
 
        byte smsc[] = (byte[]) map.get("smsc"); 
        byte pdu[] = (byte[]) map.get("pdu"); 
 
        Message reply = obtainMessage(EVENT_SEND_SMS_COMPLETE, tracker); 
        mCm.sendSMS(IccUtils.bytesToHexString(smsc), 
                IccUtils.bytesToHexString(pdu), reply); 
    } 
protected CommandsInterface mCm;

protected void sendSms(SmsTracker tracker) {
        HashMap map = tracker.mData;

        byte smsc[] = (byte[]) map.get("smsc");
        byte pdu[] = (byte[]) map.get("pdu");

        Message reply = obtainMessage(EVENT_SEND_SMS_COMPLETE, tracker);

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • android 屏幕保护
  • Android 完全退出程序
  • 原创:Android应用开发-Andorid歌词秀,含源码
  • 众多Android 开源项目推荐,给力工作给力学习
  • Android成长的幕后推手:工程师鲁宾
  • MIUI:10个亮点及5处不足
  • Android歌词秀1.5版
  • 自己开发计算器(4)-完成!源代码公开!
  • Android开发者指南(29) —— USB Host and Accessory
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索 - 移动版 - 返回顶部
Copyright © 2008-2013 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1