首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

一个incoming call的流程 (回电话代码流程)

2012-07-29 
一个incoming call的流程 (来电话代码流程)1. 创建GsmPhone时,mCT new GsmCallTracker(this)2. 创建Gsm

一个incoming call的流程 (来电话代码流程)

1. 创建GsmPhone时,mCT = new GsmCallTracker(this);2. 创建GsmCallTracker时:    cm.registerForCallStateChanged(this, EVENT_CALL_STATE_CHANGE, null); -->        mCallStateRegistrants.add(r); 3. RIL中的RILReceiver线程首先读取从rild中传来的数据:processResponse -> processUnsolicited4. 对应于incoming call,RIL收到RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED 消息,触发mCallStateRegistrants中的所有记录。5. GsmCallTracker处理EVENT_CALL_STATE_CHANGE,调用pollCallsWhenSafe6. 函数pllCallsWhenSafe 处理:     lastRelevantPoll = obtainMessage(EVENT_POLL_CALLS_RESULT);     cm.getCurrentCalls(lastRelevantPoll);7. RIL::getCurrentCalls    RILRequest rr = RILRequest.obtain(RIL_REQUEST_GET_CURRENT_CALLS, result);    ...    send(rr);8. 接着RIL调用processSolicited处理RIL_REQUEST_GET_CURRENT_CALLS的返回结果9. GsmCallTracker的handleMessage被触发,处理事件EVENT_POLL_CALLS_RESULT,调用函数      handlePollCalls10. handlPollCalls 调用    phone.notifyNewRingingConnection(newRinging);11. PhoneApp中创建CallNotifier12. CallNotifier注册:    registerForNewRingingConnection -> mNewRingingConnectionRegistrants.addUnique(h, what, obj);



热点排行