http://blog.csdn.net/u010961631/article/
WifiStateMachine StateMachine
DataConnection StateMachine
NetworkInfo 记录网络的各种连接状态
public enum DetailedState {
/** Ready to start data connection setup. */
IDLE,
/** Searching for an available access point. */
SCANNING,
/** Currently setting up data connection. */
CONNECTING,
/** Network link established, performing authentication. */
AUTHENTICATING,
/** Awaiting response from DHCP server in order to assign IP address information. */
OBTAINING_IPADDR,
/** IP traffic should be available. */
CONNECTED,
/** IP traffic is suspended */
SUSPENDED,
/** Currently tearing down data connection. */
DISCONNECTING,
/** IP traffic not available. */
DISCONNECTED,
/** Attempt to connect failed. */
FAILED,
/** Access to this network is blocked. */
BLOCKED,
/** Link has poor connectivity. */
VERIFYING_POOR_LINK,
/** Checking if network is a captive portal */
CAPTIVE_PORTAL_CHECK
}
NetworkAgent
NetworkFactory 创建NetworkAgent
异步消息机制
NetworkFactory 《---(Messenger )---》 ConnectivityManager
NetworkAgent 《---(Messenger )---》 ConnectivityManager
AsyncChannel在两个Handler间搭建了通道,可以用于消息传输。