ConnectivityService
描述
Connectivity的核心部分,对ConnectivityManager的实现,实现了IConnectivityManager接口。
在SystemServer的init2中进行初始化,并增加到ServiceManager中。
构造方法
创建单独的thread,进行handler消息处理
创建NetworkFactory,生成各种type的tracker
生成一些default值,比如device name,default dns等
初始化默认优先连接,从Settings.Global.NETWORK_PREFRENCE中读取
从配置文件中读取radio属性和network属性,配置文件在core的string.xml中
创建Tethering共享和Vpn
注册Proxy监听,并加载当前global proxy。Settings.Global.GLOBAL_HTTP_PROXY_PORT中存储相关信息
详细分析
消息处理
- InternalHandler:处理ConnectivityService内部的消息。
- NetworkStateTrackerHandler:传递给每个Tracker,处理每种网络连接的状态变化和配置变化。