DcInactiveState状态是DataConnection的初始化状态,对应的处理事件包括如下:

1.EVENT_CONNECT此事件是Dctracker发起建立数据业务时对应的事件,主要做如下几个工作:

a. 调用ConnectionParams cp = (ConnectionParams) msg.obj; initConnection(cp)来初始mConnectionParams属性.

在android7.0前在initConnection()里面还要对建立数据业务失败后的重试次数和时间间隔进行设置,但是在android7.0时如果建立数据业务失败后且是需要重试的原因,那么重试的时间是由modem层返回的.

b .onConnect()方法对apn的authType和protocol属性进行检查,如下,并通过RILJ向modem层发起建立数据业务的请求.

    int authType = mApnSetting.authType;

    if (authType == -1) {

        authType = TextUtils.isEmpty(mApnSetting.user) ? RILConstants.SETUP_DATA_AUTH_NONE

                : RILConstants.SETUP_DATA_AUTH_PAP_CHAP;

    }

    String protocol;

    if (mPhone.getServiceState().getDataRoamingFromRegistration()) {

        protocol = mApnSetting.roamingProtocol;

    } else {

        protocol = mApnSetting.protocol;

    }

c. 通过transitionTo(mActivatingState)把状态机切换到mActivatingState状态.

results matching ""

    No results matching ""