Android——热点开关演讲稿

SoftAP打开与关闭

目录

1.三个名词的解释以及关系
Tethering——网络共享,WiFi热点、蓝牙、USB
SoftAp——热点(无线接入点),临时接入点
Hostapd——Hostapd是用于Linux系统的软件,,支持多种无线认证和加密协议,将任何计算机变成一个无线接入点和认证服务器
Android通过Hostapd,搭建一个SoftAp,通过Tethering实现不同的网络共享。
2.热点打开关闭的流程
基本就是不同参数的StartTethering、StartSoftAp以及StartHostapd!

00 Outline

六个目录,kernel那边未涉及到。
简单走一下流程!

01 Tethering 1

startTethering(TETHERING_WIFI) 不同参数
Preference 的监听器

01 Tethering 2

1.四个参数
Type——热点类型
Receiver——热点成功失败接收通知,回调函数
showProvisioningUi——是否网络配送界面
Handler——Handler对象,后台线程中接收结果

01 Tethering 3

binder通信基础
1.framework的一些进程
2.内核空间和用户空间
3.Binder 是基于 C/S 架构的。由一系列的组件组成,包括 Client、Server、ServiceManager、Binder 驱动。
其中 Client、Server、Service Manager 运行在用户空间,Binder 驱动运行在内核空间。
Binder通信原理图4.ServiceManager 是一个进程,Server 是另一个进程,Server 向 ServiceManager 中注册 Binder 必然涉及到进程间通信。当前实现进程间通信又要用到进程间通信

01 Tethering 4

第一个Binder通信

01 Tethering 5

1.几个名词
网络有效性检测(NetworkMonitor)
网络评分机制(NetworkFactory)
路由配置信息的获取(NetworkAgent)
网络物理端口的设置(Netd)
2.总结
通过wifi,mobile data,Tethering,VPN 等方式来获取路由配置信息。无论通过哪种方式,获取到路由配置信息后,需要交给ConnectivityService来处理,ConnectivityService通过ping网络来检查网络的有效性,进而影响到各个数据业务方式的评分值,ConnectivityService通过这些评分值来决定以哪个数据业务方式连接网络。

01 Tethering 6

网络共享

02 SoftAp 1

1.第二个Binder通信,wifi调用消息流,ASyncChannel主要是一个Binder通信的一个类,提供一种异步的,面向消息的方式进行Binder通信
2.WifiService相当于Wifi的控制器,负责各种Wifi的操作,比如开关,扫描以及连接等。

02 SoftAp 2

WifiService 三个交互

02 SoftAp 3

上面与WifiService交互的ContentProvider
WifiSettingsStore 特殊的两种Wifi状态,就是飞行模式下Wifi的状态,飞行模式下手动开启Wifi和打开飞行模式导致Wifi被关闭
WifiController这个状态机去监听飞行模式是否打开和关闭

02 SoftAp 4

WifiController 两种状态
WifiStateMachine 四种状态

02 SoftAp 5

02 SoftAp 6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/23544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java集合的迭代操作,Set Map接口以及工具类方法

1、集合元素迭代 1.1 集合元素遍历 集合的遍历:把集合中的每一个元素获取出来 使用for遍历 使用迭代器遍历 Iterator表示迭代器对象,迭代器中拥有一个指针,默认指向第一个元素之前, . boolean hasNext():判断指针后是…

任务3.7 开发名片管理系统

本实战项目以Java语言为基础,精心打造了一个功能全面的名片管理系统。系统采用面向对象的设计原则,通过Card类来封装每张名片的详细信息,如姓名、单位、职位和联系电话等,并提供了标准的访问器和修改器方法以确保数据的安全访问。…

ROS学习记录:自定义消息类型

前言 当我们需要传输一些特殊的数据时,且官方的消息包无法满足需求,我们便可以自己定义一个消息类型。 实验步骤 一、在终端输入cd ~/catkin_ws1/src进入工作空间中src目录 二、输入catkin_create_pkg qq_msgs roscpp rospy std_msgs message_generati…

windows10子系统wsl ubuntu22.04下GN/ninja环境搭建

打开windows10子系统 ubuntu22.04 ubuntu22.04: 首先需要 安装ninja $sudo apt install ninja-build $ ninja --version 1.10.0 安装clang $sudo apt install clang $clang --version Ubuntu clang version 14.0.0-1ubuntu1.1安装gn Github: https://github.com/timniederh…

SDXL终于有了足够好的 Openpose 和 Scribble 模型可以使用了。

SDXL终于有了足够好的 Openpose 和 Scribble 模型可以使用了。 xinsir 发布的Openpose 和 Scribble 模型质量相当好,尤其是 Openpose。不过只支持姿态不支持面部。 再加上前几天的 Anyline 线条预处理器和 Canny 模型。SDXL 的生态在发布快一年的时候成熟了。 模…

太阳能语音警示杆在户外的应用及其作用

一、太阳能语音警示杆的主要应用领域 交通管理:在城市道路、乡村公路、高速公路等交通要道,太阳能语音警示杆可以用于提醒驾驶员注意前方路况、减速慢行或者避让施工区域。例如,在临时施工路段,警示杆可以播放“前方施工&#xf…

Orange Pi AI Pro 开箱 记录

香橙派 AIpro(OrangePi AIpro)是一款面向AI开发的强大开发板,提供了高性能和多功能的开发环境。我将结合自己的开发经验,详细介绍这款开发板的性能、适用场景及使用体验。 一、产品概述 香橙派 AIpro配备了强大的硬件配置&#…

详解 Flink 的运行架构

一、组件 1. JobManager 作业管理器是一个 Flink 集群中任务管理和调度的核心,是控制应用执行的主进程 1.1 JobMaster JobMaster 是 JobManager 中最核心的组件,负责处理单独的作业(Job)。JobMaster 和具体的 Job 是一一对应的&…

通过 SFP 接口实现千兆光纤以太网通信4

Tri Mode Ethernet MAC 与 1G/2.5G Ethernet PCS/PMA or SGMII 的连接 在设计中,需要将 Tri Mode Ethernet MAC 与 1G/2.5G Ethernet PCS/PMA or SGMII 之间通过 GMII 接口互联。Tri Mode Ethernet MAC IP 核的工作时钟源为 1G/2.5G Ethernet PCS/PMA or SGMII …

今日增长工具精选| 8个SaaS出海必备运营工具

一、SurveyMonkey 是一个灵活、方便、经济实惠的在线调查工具,可以通过自行设计定制化问卷,开展消费者调研,收集第一手数据,获取用户反馈。 客户涵盖财富100强公司以及其他不同规模和类型的组织,如公司、学术研究机构…

伯克希尔·哈撒韦:“股神”的“登神长阶”

股价跳水大家见过不少,但一秒跌掉62万美元的你见过吗? 今天我们来聊聊“股市”巴菲特的公司——伯克希尔哈撒韦 最近,由于纽交所技术故障,伯克希尔哈撒韦A类股股价上演一秒归“零”,从超过62万美元跌成185.1美元&…

关于main函数参数列表的那些事

写在最前面: 本篇博客所写代码,全部都依赖于Linux环境。 在开始之前,我们先问自己几个问题: main函数可以传参吗?如果main函数可以传参,最多可以传几个参数。main函数传递的参数具体作用是什么? 一.是否…

C++之类与类之间的关系

1、UML 2、继承(泛化) 3、关联 一个类对象与另一个类对象存在一个固定关系。他们的关系不是暂时的,而是固定的。 一个类对象作为另一个类对象的成员。例如订单,是用户的一个成员。用户关联订单。 4、聚合 聚合其实是特殊的一种…

中国新闻网怎么投稿 新闻稿件文章如何发布到中国新闻网上,附中国新闻网价格明细

中国新闻网是中国最具影响力和权威性的新闻门户网站之一。作为广大作者和媒体从业者,怎样向中国新闻网投稿一直是一个备受关注的话题。在这篇文章中,我们将着重介绍媒介库网发稿平台,并分享如何在该平台上成功投稿至中国新闻网。 媒介库网发稿…

IDEA 2022

介绍 【尚硅谷IDEA安装idea实战教程(百万播放,新版来袭)】 jetbrains 中文官网 IDEA 官网 IDEA 从 IDEA 2022.1 版本开始支持 JDK 17,也就是说如果想要使用 JDK 17,那么就要下载 IDEA 2022.1 或之后的版本。 公司…

C语言.数据结构.双向链表

数据结构.双向链表 1.双向链表的结构1.1链表的简单介绍1.2图文分析 2.实现双向链表2.1链表的初始化2.1.1初始化2.1.2节点的申请 2.2链表的打印2.2.1代码实现2.2.2图文分析 2.3链表的尾插2.3.1代码实现2.3.2图文分析 2.4链表的头插2.4.1代码实现2.4.2图文分析 2.5链表的尾删2.5.…

CMMI软件能力成熟度评估标准

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl CMMI概述 CMMI,全称为Capability Maturity Model Integration,即能力成熟度模型集成,是在原有的CMM(Capability Maturity Mo…

一文吃透!如何在鸿蒙上开发Unity游戏的方法!

实际效果: 使用 Webview 在鸿蒙设备上运行 Unity 游戏需要几个步骤? 用 Webview 在鸿蒙上运行 Unity 游戏 ①创建鸿蒙全屏工程 在 DevEco 中创建一个新工程,模板选择 Full Screen Ability。 ②添加 Webview 这个工程的布局很简单&#xf…

esp32-c6所有配套教程

1.介绍 本文是esp32-c6所有资料的介绍 如果需要详细代码的话请访问下面这个链接 esp32-c6使用教程wifi(espidf修改成arduino)附带代码websocket,舵机,点灯【2024年】-CSDN博客 配置环境 视频教程 0-2设置开发环境_哔哩哔哩_bi…