Android 网络服务介绍
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 网络服务介绍的更多相关文章
- Android网络服务发现(NSD)协议的使用
Android的网络服务发现协议(NSD)能够用于在小范围的网络中发现邻近设备上的某个应用.这对于一些社交网络.多人游戏类的应用会很有帮助. Android的NSD的用法大致上分为四种操作: 1. 注 ...
- Web网络服务介绍
Web网络服务也叫WWW(World Wide Web),一般是指能够让用户通过浏览器访问到互联网中文档资源服务.目前提供WEB网络服务的程序有Apache .Nginx 和 IIS 等等,Web ...
- Android网络定位服务定制简述
Android 添加高德或百度网络定位服务 Android的网络定位服务以第三方的APK方式提供服务,由于在国内Android原生自带的com.google.android.gms服务几乎处于不可用状 ...
- 深入学习:如何实现不同Android设备之间相同应用程序的网络服务发现功能
在我们的app中添加网络服务发现功能(NSD)以方便在不同的设备上响应局域网中的请求.这种功能对于多设备之间点对点服务来说很有用,例如多人游戏,多人通话,文件共享等. 一,在网络中注册你的服务 注意: ...
- Openstack 网络服务 Neutron介绍和控制节点部署 (九)
Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...
- Android Google Maps API 网络服务用于网络定位、计算路线、获取经纬度、获取详细地址等
extends:http://blog.csdn.net/h7870181/article/details/12505883 Google Maps API 网络服务 官网地址 : https://d ...
- Openstack 网络服务 Neutron介绍和控制节点部署 (十)
Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...
- 1.Android网络编程-HTML介绍
1.HTML介绍 超文本标记语言(HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言. 在Eclipse下则可以使用自带的浏览器浏览html: 2.H ...
- Android网络编程http派/申请服务
最近的研究Android网络编程知识,这里有一些想法,今晚学习.与您分享. 在实际的应用程序的开发非常需要时间appserver请求数据,那么app怎样发送请求呢?以下的代码就是当中的一种情况.使用H ...
随机推荐
- XLNet and Robertra
XLNET But the AE language model also has its disadvantages. It uses the [MASK] in the pretra ...
- centos6 rpm安装mysql 5.7
安装过程中需要进行系统补包操作 [root@cent6zbx ~]# rpm -qa |grep mysql mysql-libs--.el6_6.x86_64 [root@cent6zbx ~]# ...
- Codeforces Round #604
Beautiful Regional Contest 题意 题解 代码 Beautiful Sequence 题意 题解 代码 一个思路不够清晰的代码 Beautiful Mirrors with q ...
- MNIST机器学习入门(二)
在前一个博客中,我们已经对MNIST 数据集和TensorFlow 中MNIST 数据集的载入有了基本的了解.本节将真正以TensorFlow 为工具,写一个手写体数字识别程序,使用的机器学习方法是S ...
- python ---升级所有安装过的package
# -*- coding:utf8 -*- import pip from subprocess import call from pip._internal.utils.misc import ge ...
- oracle查询包含在子表中的主表数据
Oracle数据库,查询某表中包含在子表中的数据,子表中数据按特定条件来源于该父表,SQL命令如 ) a_table父表,b_table子表,a和b表都有commandId列,a表的commandId ...
- 2019 网易java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.网易等公司offer,岗位是Java后端开发,因为发展原因最终选择去了网易,入职一年时间了,也成为了面试官,之 ...
- mysql-数据库查询语句汇总
目录 数据库查询语句 ***** 添加数据补充: 所有的select 关键字 where 条件 distinct 去除重复记录 指定字段 取别名 group by having order limit ...
- Git撤销add、commit
撤销add git status 查看当下更新的文件 git reset HEAD 表示撤销上次add的所有文件 git reset HEAD dir/dir/test.php 撤销指定文件 撤销co ...
- Matlab外观模式
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口.本文以计算机为例,用Matlab代码实现外观模式.计算机包括CPU.内存以及硬盘等这些部件.用户 ...