功能介绍
允许设备提供硬件接口通过插入网线的形式访问互联网的功能。接入网线之后,设备可以动 态的获取IP,DNS,Gateway等一系列网络属性,我们也可以手动配置设备的网络属性,使用静态配置参 数。Google已经有一套现成的机制使用有线网,但没有涉及有线网配置的功能。因而静态网络的配置需我们自行实现。
- 重要文件
2.1 Ethernet相关类
1 )EthernetManager.java(amss\linux\android\frameworks\base\core\java\android\net)
配置IP的管理类,可以通过context.getSystemService(Context.ETHERNET_SERVICE)获得
2) IEthernetServiceListener.aidl (amss\linux\android\frameworks\base\core\java\android\net)
3)IpConfiguration.aidl (amss\linux\android\frameworks\base\core\java\android\net)
IpConfiguration.java (amss\linux\android\frameworks\base\core\java\android\net)
用于IP状态配置,动态或者是静态。
4)IEthernetManager.aidl (amss\linux\android\frameworks\base\core\java\android\net)
EthernetServiceImpl.java (amss\linux\android\frameworks\opt\net\ethernet\java\com\android\server\ethernet)
通过实现IEthernetManager.aidl接口来处理一些远程的以太网请求
5)EthernetTracker.java (amss\linux\android\frameworks\opt\net\ethernet\java\com\android\server\ethernet)
6)NetworkCapabilities.aidl (amss\linux\android\frameworks\base\core\java\android\net) NetworkCapabilities.java (amss\linux\android\frameworks\base\core\java\android\net)
7)IEthernetServiceListener.aidl (amss\linux\android\frameworks\base\core\java\android\net)
8)EthernetNetworkFactory.java (amss\linux\android\frameworks\opt\net\ethernet\java\com\android\server\ethernet)
以太网网络链接的管理类
9)EthernetConfigStore.java (amss\linux\android\frameworks\opt\net\ethernet\java\com\android\server\ethernet)
10)IpConfigStore.java (amss\linux\android\frameworks\base\services\core\java\com\android\server\net)
11)NetworkManagementService.java (amss\linux\android\frameworks\base\services\core\java\com\android\server)
2.2静态IP相关类
1)StaticIpConfiguration.java (amss\linux\android\frameworks\base\core\java\android\net)
静态IP配置相关类,主要用于配置静态IP
2)LinkProperties.aidl (amss\linux\android\frameworks\base\core\java\android\net)
LinkProperties.java (amss\linux\android\frameworks\base\core\java\android\net)
3)LinkAddress.aidl (amss\linux\android\frameworks\base\core\java\android\net)
LinkAddress.java (amss\linux\android\frameworks\base\core\java\android\net)
4)RouteInfo.aidl (amss\linux\android\frameworks\base\core\java\android\net)
RouteInfo.java (amss\linux\android\frameworks\base\core\java\android\net)
5)ProxyInfo.aidl (amss\linux\android\frameworks\base\core\java\android\net)
ProxyInfo.java (amss\linux\android\frameworks\base\core\java\android\net)
- 功能架构
下面是类关系图以及调用逻辑(标绿色的是开关逻辑调用的API,红色是设置参数调用的API)。