连接管理功能包括 wifi ethernet cable bluetooth tethering ap mobile的连接和切换,状态和数据统计,是一个复杂的模块。
在framework层,通常来说主要如下: ANDROID 系统网络连接和管理服务由四个系统服务ConnectivityService、NetworkPolicyManagerService、NetworkManagementService、NetworkStatsService共同配合完成网络连接和管理功能,四个服务只有ConnectivityService、NetworkPolicyManagerService两个服务通过NetworkPolicyManager、ConnectivityManager两个客户端对象对应用程序提供对外SDK接口,而NetworkManagementService、NetworkStatsService没有对外提供SDK接口,但设置应用程序可以通过获取系统服务接口使用NetworkManagementService、NetworkStatsService服务.
框架详细介绍: http://old./index.php?a=index&m=Index&c=show&id=240006& 这里
结合底层服务netd的部分 http://blog.csdn.net/xiaokeweng/article/details/8130218 总结: netd服务是主要控制pppd,tethering,softap,dns,route控制。它通过netlink与kernel通信。上层是通过socket与framework通信。
ethernet 子系统: http://blog.csdn.net/martingang/article/details/8170950
wifi子系统: http://blog.csdn.net/seker_xinjian/article/details/6254609 NOte: 在android4.0上面,Wifimonitor监听wpa的消息然后 WifiStateMachine的接口最后发广播,WifiStateTracker会收到广播然后用connectivityservice的handler发送消息给ConnectivityService WifiStateMachine.java 1563 private void sendNetworkStateChangeBroadcast(String bssid) {
WifiStateMachine.java 224 } else if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
TrafficStats.java |
|
来自: lifei_szdz > 《Android》