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

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模块

先说应用场景&#xff0c;有些特定设备&#xff0c;不能连接wifi。需要隐藏的模块&#xff0c;QS面板模块的wifi,还有设置里面的wifi.由于QS属于SystemUI&#xff0c;熟悉SystemUI之后&#xff0c;就可以直接去SystemUi那里找&#xff0c;找到QSTitle 默认配置的地方。 一、…...

代码随想录 -- 二叉树 -- 翻转二叉树

226. 翻转二叉树 - 力扣&#xff08;LeetCode&#xff09; 递归比较简单 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.方式一&#xff1a;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语言的时候就跳过了这一章节&#xff0c;但在后面慢慢发现这一章节还是比较重要的,如果你报考了计算机二级c语言的话&#xff0c;你应该可以看到后面的三个大题有时会涉及到这章。所以说这章还是非常重要的。 目录 前言 一.打开文件 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端口地址 &#x1f4a1; 推荐 前些天发现了一个巨牛的人工智能学习网站&am…...

[C++#28][多态] 两个条件 | 虚函数表 | 抽象类 | override 和 final | 重载 重写 重定义

目录 0.引入 1.虚函数 1. 虚函数的重写/覆盖 2. 特例1&#xff1a;不加 virtual 关键字的重写 3. 特例2&#xff1a;协变&#xff08;了解&#xff09; 2.多态的构成和细节 1. C11 的 override 和 final 1. final 不可重写 2. override 报错检查 ⭕2. 重载、覆盖&…...

List 集合指定值升序降序排列Comparator实现

升序排序 升序排序通常是指从小到大的排序。对于数值类型来说&#xff0c;可以直接使用 compareTo 方法&#xff0c;而对于其他类型&#xff0c;可以根据实际需求实现比较逻辑。 示例代码 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: 缓存, 不缓存特定内容和缓存失效降低上游压力策略及其配置示例

概述 在负载均衡的过程中&#xff0c;有一个比较重要的概念&#xff0c;就是缓存利用缓存可以很好协调Nginx在客户端和上游服务器之间的速度不匹配的矛盾从而很好的解决整体系统的响应速度 如果用户需要通过Nginx获取某一些内容的时候&#xff0c;发起一个request请求这个请求…...

Python 全栈系列266 Kafka服务的Docker搭建

说明 在大量数据处理任务下的缓存与分发 这个算是来自顾同学的助攻1&#xff0c;我有点java绝缘体的体质&#xff0c;碰到和java相关的安装部署总会碰到点奇怪的问题&#xff0c;不过现在已经搞定了。测试也接近了kafka官方标称的性能。考虑到网络、消息的大小等因素&#xff0…...

集合框架,List常用API,栈和队列初识

回顾 集合框架 两个重点——ArrayList和HashSet. Vector/ArraysList/LinkedList区别 VectorArraysListLinkedList底层实现数组数组链表线程安全安全不安全不安全增删效率较低较低高扩容*2*1.5-------- &#xff08;>>&#xff09;运算级最低&#xff0c;记得加括号。 常…...

构建全景式智慧文旅生态:EasyCVR视频汇聚平台与AR/VR技术的深度融合实践

在科技日新月异的今天&#xff0c;AR&#xff08;增强现实&#xff09;和VR&#xff08;虚拟现实&#xff09;技术正以前所未有的速度改变着我们的生活方式和工作模式。而EasyCVR视频汇聚平台&#xff0c;作为一款基于云-边-端一体化架构的视频融合AI智能分析平台&#xff0c;可…...

C++结构体声明时初始化

提示&#xff1a;文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问&#xff1a; 本文目标&#xff1a; 一、背景 最近 二、 2.1 c 结构体默认初始化 在C中&#xff0c;结构体的默认成员初始化可以通过构造函数来完成。如果没有为结构体提供构造函数&#x…...

基于微信的热门景点推荐小程序的设计与实现(论文+源码)_kaic

摘 要 近些年来互联网迅速发展人们生活水平也稳步提升&#xff0c;人们也越来越热衷于旅游来提高生活品质。互联网的应用与发展也使得人们获取旅游信息的方法也更加丰富&#xff0c;以前的景点推荐系统现在已经不足以满足用户的要求了&#xff0c;也不能满足不同用户自身的个…...

9、设计模式

设计模式 1、工厂模式 在工厂模式中&#xff0c;我们在创建对象时不会对客户端暴露创建逻辑&#xff0c;并且是通过使用一个共同的接口来指向新创建的对象。工厂模式作为一种创建模式&#xff0c;一般在创建复杂对象时&#xff0c;考虑使用&#xff1b;在创建简单对象时&…...

数学专题.

数论 1.判断质数 定义&#xff1a;在大于1的整数中&#xff0c;如果只包含1和本身这两个约数&#xff0c;就称为质数or素数 Acwing 866.试除法判断质数 2.预处理质数&#xff08;筛质数&#xff09; Acwing 868.筛质数 3.质因数分解 Acwing 867.分解质因数 4.阶乘分解 5.因…...

如何提升网站的收录率?

要提升网站的收录率&#xff0c;其中一个特别有效的工具就是GPC爬虫池&#xff0c;这个工具通过深度研究谷歌SEO算法&#xff0c;吸引谷歌爬虫。 GPC爬虫池的基本原理是构建一个庞大的站群系统&#xff0c;并创建复杂的内链和外链结构&#xff0c;以吸引并留住谷歌蜘蛛 使用GP…...

HALCON根据需要创建自定义函数

在HALCON中&#xff0c;根据需要创建自定义函数是扩展其图像处理和分析功能的有效方式。HALCON支持通过其高级编程接口&#xff08;HDevelop和C/C、C#、Python等&#xff09;来创建自定义函数。这里将主要讨论在HDevelop环境中如何创建自定义函数&#xff0c;因为HDevelop是HAL…...

力扣SQL仅数据库(196~569)

196. 删除重复的电子邮箱 题目&#xff1a;编写解决方案 删除 所有重复的电子邮件&#xff0c;只保留一个具有最小 id 的唯一电子邮件。 &#xff08;对于 SQL 用户&#xff0c;请注意你应该编写一个 DELETE 语句而不是 SELECT 语句。&#xff09; &#xff08;对于 Pandas …...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...