数据开关流程分析(关键log)

10 篇文章 1 订阅
9 篇文章 0 订阅

数据开关主要是在MobileNetworkSettings中设置的,之后主要是在DcTracker中进行处理。CallTracker处理通话相关的流程(外拨、接听、拒接、保持...),DcTracker处理数据相关的流程(APN的操作、数据的断开和建立以及彩信收发的数据请求)。这里主要是列出关键的log打印,方便跟踪问题,看具体是在哪里断开了。

设置数据开关开跟关
MobileNetworkSettings.java
        onPreferenceTreeClick()
                关键log:onPreferenceTreeClick: preference == mButtonDataEnabled, checked=

TelephonyManager
        setDataEnabled
                关键log:setDataEnabled: enabled

PhoneInterfaceManager
        setDataEnabled

DcTracker
        setDataEnabled
                关键log:CMD_SET_USER_DATA_ENABLE enabled=
        onSetUserDataEnabled  //这里的android.provider.Settings.Global.MOBILE_DATA属性是数据开关的标志,如果如要默认开关的打开和关闭可以修改这个属性值,如果需要根据不同运营商定制,那么可以在CarrierConfig/res/xml/vendor.xml中设置          
                关键log: log("mDataEnabledSettings.isUserDataEnabled():" +...+"/enabled:" +enabled);
                关键log:log("onSetUserDataEnabled: <old>" + android.provider.Settings.Global.MOBILE_DATA + " = "...);
        onTrySetupData
                关键log:onTrySetupData: reason=
        setupDataOnConnectableApns
                关键log:setupDataOnConnectableApns:
        trySetupData
                关键log:trySetupData for type:
                        trySetupData: X retValue=  //数据建立连接是否成功;成功返回true
        setupData
                bringup--DataConnection.EVENT_CONNECT //在DataConnection中会使用到
        createDataConnection
                int status = dcac.fullyConnectSync(mPhone.getContext(), this, conn.getHandler());//创建连接成功时的回调
                关键log:createDataConnection


DataConnection:继承状态机,初始化数据连接状态会调用DcInactiveState
        makeDataConnection
        DcInactiveState
                case EVENT_CONNECT
        onConnect
                关键log:onConnect: carrier=

RIL.java
        setupDataCall

具体可以看这篇博客:
https://blog.csdn.net/u012439416/article/details/75264310
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值