Android:ethernet StaticIpConfiguration静态ip设置方法

功能介绍

允许设备提供硬件接口通过插入网线的形式访问互联网的功能。接入网线之后,设备可以动 态的获取IP,DNS,Gateway等一系列网络属性,我们也可以手动配置设备的网络属性,使用静态配置参 数。Google已经有一套现成的机制使用有线网,但没有涉及有线网配置的功能。因而静态网络的配置需我们自行实现。

  1. 重要文件
    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)

  1. 功能架构
    下面是类关系图以及调用逻辑(标绿色的是开关逻辑调用的API,红色是设置参数调用的API)。
发布了19 篇原创文章 · 获赞 8 · 访问量 2028

猜你喜欢

转载自blog.csdn.net/GentelmanTsao/article/details/103367545