安卓Telephony常用流程
时间:2022-6-9 9:39
热度:1387°
评论:0 条
开关飞行模式流程
【AirplaneModeEnabler.java】 setAirplaneModeOn mOnAirplaneModeChangedListener.onAirplaneModeChanged @intent事件搜ACTION_AIRPLANE_MODE_CHANGED 【PhoneGlobals.java】 handleAirplaneModeChange maybeTurnCellOff setRadioPowerOff PhoneUtils.setRadioPower 【PhoneUtils.setRadioPower】 phone.setRadioPower @抽象类继承搜extends Phone 【GsmCdmaPhone.java】 mSST.setRadioPower 【ServiceStateTracker.java】 setPowerStateToDesired mCi.setRadioPower @接口类型搜implements CommandsInterface 看包含extends的地方 【RIL.java】 RIL_REQUEST_RADIO_POWER
打电话流程
【CellDataPreference.java】 performClick setMobileDataEnabled 【TelephonyManager.java】 setDataEnabled telephony.setUserDataEnabled @搜索extends ITelephony.stub 【PhoneInterfaceManager.java】 phone.getDataEnabledSettings().setUserDataEnabled 【DataEnabledSettings.java】 updateDataEnabledAndNotify(REASON_USER_DATA_ENABLED) notifyDataEnabledChanged mOverallDataEnabledChangedRegistrants.notifyResult @观察者直接搜REASON_USER_DATA_ENABLED 【DcTracker.java】 onDataEnabledChanged setupDataOnAllConnectableApns setupDataOnConnectableApn trySetupData buildWaitingApns@编译APN列表 setupData 【DataConnection.java】 dataConnection.bringUp @在本页面搜索EVENT_CONNECT找到在函数内部DcInactiveState connect mDataServiceManager.setupDataCall 【DataServiceManager.java】 mIDataService.setupDataCall @搜extends IDataService.Stub 【DataService.java】 setupDataCall 全局搜DATA_SERVICE_REQUEST_SETUP_DATA_CALL serviceProvider.setupDataCall @DataServiceProvider是DataService里面的抽象类,直接搜extends DataService.DataServiceProvider 【CellularDataService.java】 mPhone.mCi.setupDataCall @搜implements CommandsInterface 【RIL.java】 setupDataCall @往RIL发送RIL_REQUEST_SETUP_DATA_CALL
开机后的卡初始化流程
【RadioIndication.java】 simStatusChanged mRil.mIccStatusChangedRegistrants.notifyRegistrants() @观察者搜mIccStatusChangedRegistrants 【BaseCommands.java】 registerForIccStatusChanged EVENT_ICC_STATUS_CHANGED @搜索EVENT_ICC_STATUS_CHANGED的事件处理,一般都在handleMessage中 getIccCardStatus EVENT_GET_ICC_STATUS_DONE onGetIccCardStatusDone 【UiccController.java】 mUiccSlots[slotId].update 【UiccSlot.java】 mUiccCard.update 【UiccCard.java】 mUiccProfile.update updateIccAvailability 【UiccProfile.java】 updateExternalState setExternalState(IccCardConstants.State.READY) setExternalState UiccController.updateInternalIccState 【UiccController.java】 updateInternalIccState subInfoUpdator.updateInternalIccState(getIccStateIntentString) @getIccStateIntentString获取状态并转换IccCardConstants.INTENT_VALUE_ICC_READY 【SubscriptionInfoUpdater.java】 internalIccStateToMessage @状态转换为EVENT_SIM_READY并发送消息 sendMessage handleMessage updateEmbeddedSubscriptions SubscriptionController.getInstance().notifySubscriptionInfoChanged @当事件为EVENT_SIM_LOADED时 EVENT_SIM_LOADED handleSimLoaded SubscriptionController.getInstance().setMccMnc 【SubscriptionController.java】 setMccMnc refreshCachedActiveSubscriptionInfoList notifySubscriptionInfoChanged @以下为谁在关注此事件 tr.notifySubscriptionInfoChanged 【TelephonyRegistry.java】 r.onSubscriptionsChangedListenerCallback.onSubscriptionsChanged() @搜IOnSubscriptionsChangedListener.stub 【SubscriptionMonitor.java】 mSubscriptionsChangedRegistrants[phoneId].notifyRegistrants() registerForSubscriptionChanged 【TelephonyNetworkFactory.java】 mSubscriptionMonitor.registerForSubscriptionChanged EVENT_SUBSCRIPTION_CHANGED onSubIdChange setCapabilityFilter 【NetworkFactory.java】 CMD_SET_FILTER handleSetFilter
捐赠支持:如果觉得这篇文章对您有帮助,请“扫一扫”鼓励作者!
本文无需标签!
本文作者:皮皮华
文章标题: 安卓Telephony常用流程
本文地址:http://huazai.eleuu.com/?post=57
版权声明:若无注明,本文皆为“皮皮华博客”原创,转载请保留文章出处。
本文地址:http://huazai.eleuu.com/?post=57
版权声明:若无注明,本文皆为“皮皮华博客”原创,转载请保留文章出处。
发表吐槽
你肿么看?
既然没有吐槽,那就赶紧抢沙发吧!