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

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

        mCm.sendSMS(IccUtils.bytesToHexString(smsc),
                IccUtils.bytesToHexString(pdu), reply);
    }离成功已经不远了....
我们知道,CommandsInterface是一个特殊的接口,它的RIL.java息息相关,而在上面的代码中sendSms()调用来CommandsInterface对象的sendSMS()方法来做事情,而CommandsIterface是一个接口,所以事情只好由它的儿子(其实是孙子,RIL的爸爸BaseCommands是CommandsInterface的儿子)来完成,好,进入RIL.java.

8. 第七阶段:RIL.java(/frameworks/base/telephony/java/com/android/internal/telephony/RIL.java)

只要研究过ril层的,对这玩意都一定很熟悉,所以直接看它的sendSMS()方法:

view plaincopy to clipboardprint?public void sendSMS (String smscPDU, String pdu, Message result) { 
        RILRequest rr 
                = RILRequest.obtain(RIL_REQUEST_SEND_SMS, result); 
 
        rr.mp.writeInt(2); 
        rr.mp.writeString(smscPDU); 
        rr.mp.writeString(pdu); 
 
        if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest)); 
 
        send(rr); 
    } 
 
//send(RILRequest rr)  
<pre name="code" class="java">private void 
    send(RILRequest rr) { 
        Message msg; 
 
        msg = mSender.obtainMessage(EVENT_SEND, rr); 
 
        acquireWakeLock(); 
 
        msg.sendToTarget(); 
    } 
public void sendSMS (String smscPDU, String pdu, Message result) {
        RILRequest rr
                = RILRequest.obtain(RIL_REQUEST_SEND_SMS, result);

        rr.mp.writeInt(2);
        rr.mp.writeString(smscPDU);
        rr.mp.writeString(pdu);

        if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest));

        send(rr);
    }

//send(RILRequest rr)
<pre name="code" class="java">private void
    send(RILRequest rr) {

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

推荐热点

  • 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