3 数据业务关闭
数据业务关闭从DcTracker的onCleanUpAllConnections方法开始论述,调用流程图如下,
cleanUpConnection的逻辑如下,
调用DcAsyncChannel的tearDown方法获取配置的信息,然后发送发送EVENT_DISCONNECT消息,断开网络
Message msg = obtainMessage(DctConstants.EVENT_DISCONNECT_DONE, apnContext);
if (disconnectAll) {
apnContext.getDcAc().tearDownAll(apnContext.getReason(), msg);
} else {
apnContext.getDcAc().tearDown(apnContext, apnContext.getReason(), msg);
}
DcAsyncChannel的tearDown方法如下,
sendMessage(DataConnection.EVENT_DISCONNECT,
new DisconnectParams(apnContext, reason, onCompletedMsg));
直接发送EVENT_DISCONNECT方法,
如果当前的状态是DcActiveState