当前位置: 首页 > news >正文

android NetworkMonitor和ConnectivityService记录

一、NetworkMonitor

packages/modules/NetworkStack/src/com/android/server/connectivity/NetworkMonitor.java

网络上都叫网络可用性校验,在WIFI和数据(以太网切换中使用)

有多个状态机

方法:isCaptivePortal

11-03 12:01:17.885  2535  4681 D NetworkMonitor/100: isCaptivePortal: isSuccessful()=false isPortal()=false RedirectUrl=null isPartialConnectivity()=false Time=23029ms

类 EvaluationState下的reportEvaluationResult

----------------------------------------------------------------------------------------------------------------------

父类下的notifyNetworkTested,会将校验结果发送给ConnectivityService

private final INetworkMonitorCallbacks mCallback;
private void notifyNetworkTested(NetworkTestResultParcelable result) {mCallback.notifyNetworkTestedWithExtras(result);
}

ConnectivityService.java里有个子类NetworkMonitorCallbacks 重写了notifyNetworkTestedWithExtras

NetworkMonitorCallbacks是在registerNetworkAgent里注册的

mDeps.getNetworkStack().makeNetworkMonitor(nai.network, name, new NetworkMonitorCallbacks(nai));

-----------------------------------------------------------------------------------------------------------------------

http://www.lryc.cn/news/219240.html

相关文章:

  • Technology strategy Pattern 学习笔记1-Context: Architecture and Strategy
  • 数据结构-顺序表
  • 数据结构与算法 | 第三章:栈与队列
  • oracle查询数据库内全部的表名、列明、注释、数据类型、长度、精度等
  • 数据可视化:折线图
  • Python语言_matplotlib包_共80种--全平台可用
  • OpenFeign 的超时重试机制以及底层实现原理
  • redis安装
  • VM虚拟机逆向 --- [NCTF 2018]wcyvm 复现
  • 2024天津理工大学中环信息学院专升本机械设计制造自动化专业考纲
  • 华为OD机试 - 服务失效判断 - 逻辑分析(Java 2023 B卷 200分)
  • 刚入职因为粗心大意,把事情办砸了,十分后悔
  • Docker学习——③
  • EMC Unity存储系统如何查看SSD的使用寿命
  • python创建一个简单的flask应用
  • 阿里云域名实战
  • git关联远程仓库自己分支自用
  • eBPF BCC开源工具简介
  • Linux上后台运行进程(nohub、screen和tmux )
  • javaee实验:搭建maven+spring boot开发环境,开发“Hello,Spring Boot”应用
  • 重新思考边缘负载均衡
  • 构建一个CAN报文周期任务类
  • 深入理解计算机系统CS213 - Lecture 02
  • 【KVM】KVM介绍及功能概述
  • centos7安装MySQL
  • leetcode做题笔记215. 数组中的第K个最大元素
  • Linux Vim撤销和恢复撤销快捷键
  • 【BUG】记一次Maven install 报错 Could not find artifact ...:pom:0.0.1-SNAPSHOT
  • 逆向学习记录(4)adb
  • Windows Server 2016使用MBR2GPT.EXE教程!