Android 10.0 设置默认DNS

1.前言


 在10.0的系统rom产品定制化开发中,由于是wifi产品的定制,需要对wifi功能要求比较高,所以在wifi需求方面要求设置默认的dns功能,这就需要分析网络通讯
流程,然后在联网之后,设置默认的dns,来实现功能要求

2.设置默认DNS的核心类

frameworks\base\core\java\android\net\IConnectivityManager.aidl
frameworks\base\core\java\android\net\ConnectivityManager.java
frameworks/base/services/core/java/com/android/server/ConnectivityService.java

3.设置默认DNS的核心功能分析和实现


 在android系统中,在ConnectivityService的主要功能就是通过wifi,mobile data,Tethering,VPN 等方式来获取路由配置信息。
无论通过哪种方式,获取到路由配置信息后,需要交给ConnectivityService来处理,ConnectivityService通过ping网络来检查网络的有效性,
进而影响到各个数据业务方式的网络通讯速度值,ConnectivityService通过这些网络通讯速度值来决定以哪个数据业务方式连接网络。决定好数据业务方式后,
把这些路由配置信息设置到网络物理设备中。这样我们的手机就可以正常上网了

在系统ConnectivityService服务中,是通过ConnectivityManager管理类来提供接口调用ConnectivityService中相关的接口,来实现网络通讯的
所以需要

猜你喜欢

转载自blog.csdn.net/baidu_41666295/article/details/130476719