先说应用场景,有些特定设备,不能连接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
<PreferenceScreen
xmlns: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.RestrictedPreference
android: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.RestrictedPreference
android: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.AddPreference
android: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.RestrictedSwitchPreference
android: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.RestrictedPreference
android: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.RestrictedPreference
android: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.PrimarySwitchPreference
android: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.RestrictedPreference
android: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" />
-->
收工。