Android接电话流程,JAVA部分

这篇博客详细介绍了Android系统中接电话的Java层处理流程,从RIL.java的RILReceiver线程开始,经过RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED事件,到CallTracker类的pollCallsWhenSafe()函数,再到PhoneApp和CallNotifier的处理,最后展示了如何显示来电UI并接听电话的步骤。
摘要由CSDN通过智能技术生成

来新公司已经很长时间了,不过接触android还是不久以前的事情,由于项目的需要,我得了解下接电话的流程,网上查了很多的资料,发现很多都是打电话的流程比较详细,但接电话的流程,特别是RIL.java往上的部分都不是很详细,于是,我自己跟踪了下,就把过程贴了出来,可能有些地方不全,也可能i会有不对的地方,请各位指教

 

接电话的基本流程(java层):

首先,通过ddms拨打模拟器的电话,这样
在RIL.java的RILReceiver线程(run()函数中)当中接收到rild发来的incoming消息,接收线程将消息转给processResponse(p)进行处理,processResponse(p)又将消息转给processUnsolicited (p)处理,然后又转到          

         case RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED:
                if (RILJ_LOGD) unsljLog(response);
                mCallStateRegistrants
                    .notifyRegistrants(new AsyncResult(null, null, null));
            break;
进行处理。这样消息就转到了mCallStateRegistrants(RegistrantList.java类中)的notifyRegistrants()函数进行处理了,接着转到internalNotifyRegistrants(ar.result, ar.exception);
消息继续上传到
            Registrant  r = (Regi

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值