Android系统去掉WIFI模块
先说应用场景,有些特定设备,不能连接wifi。需要隐藏的模块,QS面板模块的wifi,还有设置里面的wifi.由于QS属于SystemUI,熟悉SystemUI之后,就可以直接去SystemUi那里找,找到QSTitle 默认配置的地方。
一、效果
1.修改之前
2.修改之后
wifi模块不显示,记得先执行make 编译一下
二、修改qs路径
1.代码路径
frameworks/base/packages/SystemUI/res/values/config.xml
把wifi配置删掉,即internet 选项去掉就可以实现
<!-- The default tiles to display in QuickSettings --><string name="quick_settings_tiles_default" translatable="false">internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle</string><!-- Tiles native to System UI. Order should match "quick_settings_tiles_default" --><string name="quick_settings_tiles_stock" translatable="false">internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness</string>
2.系统设置隐藏wifi
查找方式,首先通过aidegen 打开Setting源码,开发工具Android studio.然后通过名称“网络和互联网”反向查找对于布局类。aidegen调试setting可以参考我之前写的一篇文章AIDEGen + Android Studio本地环境调试代码-Settings-CSDN博客
路径:packages/apps/Settings/res/values-zh-rCN
<string name="network_dashboard_title" msgid="788543070557731240">"网络和互联网"</string><string name="network_dashboard_title" msgid="788543070557731240">"网络和互联网"</string>
network_provider_internet.xml
<PreferenceScreenxmlns:android="http://schemas.android.com/apk/res/android"xmlns:settings="http://schemas.android.com/apk/res-auto"android:key="network_provider_and_internet_screen"android:title="@string/network_dashboard_title"><com.android.settingslib.RestrictedPreferenceandroid:fragment="com.android.settings.network.NetworkProviderSettings"android:key="internet_settings"android:title="@string/provider_internet_settings"android:summary="@string/summary_placeholder"android:icon="@drawable/ic_settings_wireless"android:order="-30"settings:allowDividerAbove="true"settings:keywords="@string/keywords_internet"settings:useAdminDisabledSummary="true" /><com.android.settingslib.RestrictedPreferenceandroid:key="calls_and_sms"android:title="@string/calls_and_sms"android:icon="@drawable/ic_calls_sms"android:order="-20"android:summary="@string/summary_placeholder"settings:allowDividerBelow="true"settings:keywords="@string/calls_and_sms"settings:useAdminDisabledSummary="true" /><com.android.settings.widget.AddPreferenceandroid:key="mobile_network_list"android:title="@string/provider_network_settings_title"android:summary="@string/summary_placeholder"android:icon="@drawable/ic_sim_card"android:order="-15"settings:keywords="@string/keywords_more_mobile_networks"settings:userRestriction="no_config_mobile_networks"settings:allowDividerAbove="true"settings:useAdminDisabledSummary="true" /><com.android.settingslib.RestrictedSwitchPreferenceandroid:key="airplane_mode"android:title="@string/airplane_mode"android:icon="@drawable/ic_airplanemode_active"android:order="-5"settings:controller="com.android.settings.network.AirplaneModePreferenceController"settings:userRestriction="no_airplane_mode"/><com.android.settingslib.RestrictedPreferenceandroid:key="manage_mobile_plan"android:title="@string/manage_mobile_plan_title"android:persistent="false"android:order="19"settings:userRestriction="no_config_mobile_networks"settings:useAdminDisabledSummary="true" /><com.android.settingslib.RestrictedPreferenceandroid:fragment="com.android.settings.TetherSettings"android:key="tether_settings"android:title="@string/tether_settings_title_all"android:icon="@drawable/ic_wifi_tethering"android:order="5"android:summary="@string/summary_placeholder"settings:keywords="@string/keywords_hotspot_tethering"settings:userRestriction="no_config_tethering"settings:useAdminDisabledSummary="true" /><com.android.settings.widget.PrimarySwitchPreferenceandroid:fragment="com.android.settings.AllInOneTetherSettings"android:key="all_tether_settings"android:title="@string/tether_settings_title_all"android:icon="@drawable/ic_wifi_tethering"android:order="6"android:summary="@string/summary_placeholder"settings:controller="com.android.settings.network.AllInOneTetherPreferenceController"settings:keywords="@string/keywords_hotspot_tethering"settings:userRestriction="no_config_tethering"settings:useAdminDisabledSummary="true" />.....
</PreferenceScreen>
处理方式,直接注释对应布局
<!--<com.android.settingslib.RestrictedPreferenceandroid:fragment="com.android.settings.network.NetworkProviderSettings"android:key="internet_settings"android:title="@string/provider_internet_settings"android:summary="@string/summary_placeholder"android:icon="@drawable/ic_settings_wireless"android:order="-30"settings:allowDividerAbove="true"settings:keywords="@string/keywords_internet"settings:useAdminDisabledSummary="true" />-->
收工。
相关文章:

Android系统去掉WIFI模块
先说应用场景,有些特定设备,不能连接wifi。需要隐藏的模块,QS面板模块的wifi,还有设置里面的wifi.由于QS属于SystemUI,熟悉SystemUI之后,就可以直接去SystemUi那里找,找到QSTitle 默认配置的地方。 一、…...
代码随想录 -- 二叉树 -- 翻转二叉树
226. 翻转二叉树 - 力扣(LeetCode) 递归比较简单 class Solution(object):def invertTree(self, root):if rootNone:returnnode rootif node.left or node.right:tempnode.leftnode.leftnode.rightnode.righttempself.invertTree(node.left)self.inve…...
Node.js之文件复制
1.方式一:readFile // 导入fs模块 const fs require("fs") // 导入process模块 const process require("process")// 读取文件内容 let data fs.writeFileSync(./test.txt) // 写入文件内容 fs.writeFileSync(./test1.txt, data) 2.方式二&…...

新手c语言讲解及题目分享(十六)--文件系统专项练习
在我刚开始学习c语言的时候就跳过了这一章节,但在后面慢慢发现这一章节还是比较重要的,如果你报考了计算机二级c语言的话,你应该可以看到后面的三个大题有时会涉及到这章。所以说这章还是非常重要的。 目录 前言 一.打开文件 1.Fopen( )函数返回值 2&…...

RabbitMQ本地Ubuntu系统环境部署与无公网IP远程连接服务端实战演示
文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 安装内网穿透工具3.1 安装cpolar内网穿透3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 💡 推荐 前些天发现了一个巨牛的人工智能学习网站&am…...

[C++#28][多态] 两个条件 | 虚函数表 | 抽象类 | override 和 final | 重载 重写 重定义
目录 0.引入 1.虚函数 1. 虚函数的重写/覆盖 2. 特例1:不加 virtual 关键字的重写 3. 特例2:协变(了解) 2.多态的构成和细节 1. C11 的 override 和 final 1. final 不可重写 2. override 报错检查 ⭕2. 重载、覆盖&…...
List 集合指定值升序降序排列Comparator实现
升序排序 升序排序通常是指从小到大的排序。对于数值类型来说,可以直接使用 compareTo 方法,而对于其他类型,可以根据实际需求实现比较逻辑。 示例代码 import java.util.Comparator; import java.util.List; import java.util.ArrayList;cl…...

【Day07】
目录 MySQL-DQL- 基本查询 MySQL-DQL- 条件查询 MySQL-DQL- 聚合函数 MySQL-DQL- 分组查询 MySQL-DQL- 排序查询 MySQL-DQL- 分页查询 MySQL-DQL- 案例 MySQL-多表设计-一对多 MySQL-多表设计-一对多-外键约束 MySQL-多表设计-一对一&多对多 MySQL-多表设计-案例…...

shell 控制台显示彩色文字的方法
在shell脚本中,如果我们希望在控制台能显示带颜色的文字, 那就需要使用shell中的色彩专用变量代码来进行. shell中的各种颜色代码定义 # 颜色定义 BLACK"\033[0;30m" DARK_GRAY"\033[1;30m" BLUE"\033[0;34m" LIGHT_BLUE"\033[1;3…...

Nginx: 缓存, 不缓存特定内容和缓存失效降低上游压力策略及其配置示例
概述 在负载均衡的过程中,有一个比较重要的概念,就是缓存利用缓存可以很好协调Nginx在客户端和上游服务器之间的速度不匹配的矛盾从而很好的解决整体系统的响应速度 如果用户需要通过Nginx获取某一些内容的时候,发起一个request请求这个请求…...
Python 全栈系列266 Kafka服务的Docker搭建
说明 在大量数据处理任务下的缓存与分发 这个算是来自顾同学的助攻1,我有点java绝缘体的体质,碰到和java相关的安装部署总会碰到点奇怪的问题,不过现在已经搞定了。测试也接近了kafka官方标称的性能。考虑到网络、消息的大小等因素࿰…...

集合框架,List常用API,栈和队列初识
回顾 集合框架 两个重点——ArrayList和HashSet. Vector/ArraysList/LinkedList区别 VectorArraysListLinkedList底层实现数组数组链表线程安全安全不安全不安全增删效率较低较低高扩容*2*1.5-------- (>>)运算级最低,记得加括号。 常…...

构建全景式智慧文旅生态:EasyCVR视频汇聚平台与AR/VR技术的深度融合实践
在科技日新月异的今天,AR(增强现实)和VR(虚拟现实)技术正以前所未有的速度改变着我们的生活方式和工作模式。而EasyCVR视频汇聚平台,作为一款基于云-边-端一体化架构的视频融合AI智能分析平台,可…...
C++结构体声明时初始化
提示:文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问: 本文目标: 一、背景 最近 二、 2.1 c 结构体默认初始化 在C中,结构体的默认成员初始化可以通过构造函数来完成。如果没有为结构体提供构造函数&#x…...

基于微信的热门景点推荐小程序的设计与实现(论文+源码)_kaic
摘 要 近些年来互联网迅速发展人们生活水平也稳步提升,人们也越来越热衷于旅游来提高生活品质。互联网的应用与发展也使得人们获取旅游信息的方法也更加丰富,以前的景点推荐系统现在已经不足以满足用户的要求了,也不能满足不同用户自身的个…...
9、设计模式
设计模式 1、工厂模式 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式作为一种创建模式,一般在创建复杂对象时,考虑使用;在创建简单对象时&…...

数学专题.
数论 1.判断质数 定义:在大于1的整数中,如果只包含1和本身这两个约数,就称为质数or素数 Acwing 866.试除法判断质数 2.预处理质数(筛质数) Acwing 868.筛质数 3.质因数分解 Acwing 867.分解质因数 4.阶乘分解 5.因…...

如何提升网站的收录率?
要提升网站的收录率,其中一个特别有效的工具就是GPC爬虫池,这个工具通过深度研究谷歌SEO算法,吸引谷歌爬虫。 GPC爬虫池的基本原理是构建一个庞大的站群系统,并创建复杂的内链和外链结构,以吸引并留住谷歌蜘蛛 使用GP…...
HALCON根据需要创建自定义函数
在HALCON中,根据需要创建自定义函数是扩展其图像处理和分析功能的有效方式。HALCON支持通过其高级编程接口(HDevelop和C/C、C#、Python等)来创建自定义函数。这里将主要讨论在HDevelop环境中如何创建自定义函数,因为HDevelop是HAL…...
力扣SQL仅数据库(196~569)
196. 删除重复的电子邮箱 题目:编写解决方案 删除 所有重复的电子邮件,只保留一个具有最小 id 的唯一电子邮件。 (对于 SQL 用户,请注意你应该编写一个 DELETE 语句而不是 SELECT 语句。) (对于 Pandas …...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...