1. 介绍

Android网络服务主要包括如下四个部分

- ConnectivityService:          提供数据连接管理服务,包括移动数据、WIFI、以太网等
- NetworkPolicyManagerService: 提供网络策略管理服务
- NetworkStatsService: 提供网络传输数据统计服务
- NetworkManagementService: 提供对物理网络接口的管理服务

2. NetworkManagementService

NetworkManagementService是重要的网络服务,通过NativeDaemonConnector类建立和netd的联系,实现对物理接口进行操作;它封装了关于接口、网络、防火墙等相关的处理函数,同时还通过Observer提供接口状态(INetworkManagementEventObserver)变更通知

3. NetworkStatsService

NetworkStatsService实现了流量相关的统计,笔者这里不做分析

4. NetworkPolicyManagerService

NetworkPolicyManagerService实现了网络使用上的策略,笔者这里也不做分析

5. ConnectivityService

ConnectivityService实现对系统的所有数据连接进行管理,包括物理连接、虚拟连接以及共享连接

从frameworks/base/core/res/res/values/config.xml的networkAttributes中读取当前系统支持的网络连接类型

6. EthernetService

6.1 初始化

6.2 添加设备

6.3 移除设备

参考:
<Android Netd>
<Android系统网络架构>
<Android网络评分机制>
<ConnectivityService框架初识>
<ConnectivityService处理wifi连接>
<RK3399(Android7.1)--配置wifi和以太网共存>

Android 网络服务介绍的更多相关文章

  1. Android网络服务发现(NSD)协议的使用

    Android的网络服务发现协议(NSD)能够用于在小范围的网络中发现邻近设备上的某个应用.这对于一些社交网络.多人游戏类的应用会很有帮助. Android的NSD的用法大致上分为四种操作: 1. 注 ...

  2. Web网络服务介绍

    Web网络服务也叫WWW(World Wide Web),一般是指能够让用户通过浏览器访问到互联网中文档资源服务.目前提供WEB网络服务的程序有Apache .Nginx 和  IIS  等等,Web ...

  3. Android网络定位服务定制简述

    Android 添加高德或百度网络定位服务 Android的网络定位服务以第三方的APK方式提供服务,由于在国内Android原生自带的com.google.android.gms服务几乎处于不可用状 ...

  4. 深入学习:如何实现不同Android设备之间相同应用程序的网络服务发现功能

    在我们的app中添加网络服务发现功能(NSD)以方便在不同的设备上响应局域网中的请求.这种功能对于多设备之间点对点服务来说很有用,例如多人游戏,多人通话,文件共享等. 一,在网络中注册你的服务 注意: ...

  5. Openstack 网络服务 Neutron介绍和控制节点部署 (九)

    Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...

  6. Android Google Maps API 网络服务用于网络定位、计算路线、获取经纬度、获取详细地址等

    extends:http://blog.csdn.net/h7870181/article/details/12505883 Google Maps API 网络服务 官网地址 : https://d ...

  7. Openstack 网络服务 Neutron介绍和控制节点部署 (十)

    Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...

  8. 1.Android网络编程-HTML介绍

    1.HTML介绍 超文本标记语言(HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言. 在Eclipse下则可以使用自带的浏览器浏览html: 2.H ...

  9. Android网络编程http派/申请服务

    最近的研究Android网络编程知识,这里有一些想法,今晚学习.与您分享. 在实际的应用程序的开发非常需要时间appserver请求数据,那么app怎样发送请求呢?以下的代码就是当中的一种情况.使用H ...

随机推荐

  1. python数据分析3之标签化

  2. spket插件安装并设置JQuery自动提示

    下载地址: com.spket.ui_1.6.23jar包license替换破解.zip: https://pan.baidu.com/s/1JooqlkhHczPT0V34-Qm0oA 提取码: s ...

  3. 【bat】【windows】通过端口杀死进程

    简单的bat处理,把指定端口集合杀死相应的进程,就是杀死对应的pid @echo off & setlocal EnableDelayedExpansion ]= ]= ]= ]= ]= fo ...

  4. Excel在数据表中悬停鼠标显示数据值

    打开一个实例文档,鼠标移动到数据表中,在柱状图上中悬停鼠标,可以看到没有显示数据的值. 鼠标单击左上角的<文件>按钮. 然后单击<选项>按钮. 在弹出的excel选项对话框中单 ...

  5. Java实现RSA加密&AES加密&DES加密

    RSA package com.demo; import org.springframework.util.StringUtils; import javax.crypto.Cipher; impor ...

  6. Matlab 线性规划问题模型代码

    线性规划问题的基本内容 线性规划解决的是自变量在一定的线性约束条件下,使得线性目标函数求得最大值或者最小值的问题. \[ \min z=\sum_{j=1}^{n} f_{j} x_{j} \] \[ ...

  7. 以Unicode(UTF-16 LE)编码保存文本

    1. 以二进制方式打开文件,写入BOM头 FILE* pFile = nullptr; _wfopen_s(&pFile, szLogFilePath, L"wb"); / ...

  8. Django框架之第四篇(视图层)--HttpRequest对象、HttpResponse对象、JsonResponse、CBV和FBV、文件上传

    视图层 一.视图函数 一个视图函数,简称视图,是一个简单的python函数,它接收web请求并且会返回web响应.响应可以是一张网页的html,一个重定向,或者是一张图片...任何东西都可以.无论是什 ...

  9. 第2课,python while循环的使用

    引言: 上次课学习了python turtle库的基本使用,向前向后和转向.本次课需要画多个图形,简单的东西多起来就变得不简单了. 0/1是简单的,但却能组成丰富多彩的多媒体世界. 课程内容: 1. ...

  10. java知识精要(一)

    一.java数组 (疯狂java讲义 第4.5 ~ 4.6章节) 1) 声明形式: type[] arrayName; 推荐方式 type arrayName[]; 2) 初始化: 方式一: type ...