[全志A83T][android4.4] 系统中屏蔽wifi与蓝牙

客户定制需求:在系统中屏蔽wifi与蓝牙,分析后决定在系统设置和状态栏中都去掉wifi与蓝牙,这样就达到了屏蔽wifi与蓝牙的效果。


1.系统设置:去掉wifi与蓝牙相关配置

diff --git a/android/packages/apps/Settings/AndroidManifest.xml b/android/packages/apps/Settings/AndroidManifest.xml
index de8f43b..5d5d879 100644
--- a/android/packages/apps/Settings/AndroidManifest.xml
+++ b/android/packages/apps/Settings/AndroidManifest.xml
@@ -141,8 +141,8 @@
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.wifi.WifiSettings" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/wifi_settings" />
+            <!--meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/wifi_settings" /-->
         </activity>
         <!-- Keep compatibility with old shortcuts. -->
@@ -155,8 +155,8 @@
                 android:exported="true">
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.wifi.WifiSettings" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/wifi_settings" />
+            <!--meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/wifi_settings" /-->
         </activity-alias>
         <activity android:name=".wifi.WifiPickerActivity"
@@ -204,8 +204,8 @@
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.wifi.AdvancedWifiSettings" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/wifi_settings" />
+            <!--meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/wifi_settings" /-->
             <meta-data android:name="com.android.settings.PARENT_FRAGMENT_TITLE"
                 android:resource="@string/wifi_settings" />
             <meta-data android:name="com.android.settings.PARENT_FRAGMENT_CLASS"
@@ -289,8 +289,8 @@
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.bluetooth.BluetoothSettings" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/bluetooth_settings" />
+            <!--meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/bluetooth_settings" /-->
         </activity>
         <!-- Keep compatibility with old shortcuts. -->
@@ -302,8 +302,8 @@
                 android:clearTaskOnLaunch="true">
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.bluetooth.BluetoothSettings" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/bluetooth_settings" />
+            <!--meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/bluetooth_settings" /-->
         </activity-alias>
         <activity android:name=".bluetooth.DevicePickerActivity"
diff --git a/android/packages/apps/Settings/res/xml/settings_headers.xml b/android/packages/apps/Settings/res/xml/settings_headers.xml
index a7628da..6b9871d 100644
--- a/android/packages/apps/Settings/res/xml/settings_headers.xml
+++ b/android/packages/apps/Settings/res/xml/settings_headers.xml
@@ -23,18 +23,18 @@
         android:title="@string/header_category_wireless_networks" />
     <!-- Wifi -->
-    <header
+    <!--header
         android:id="@+id/wifi_settings"
         android:fragment="com.android.settings.wifi.WifiSettings"
         android:title="@string/wifi_settings_title"
-        android:icon="@drawable/ic_settings_wireless" />
+        android:icon="@drawable/ic_settings_wireless" /-->
     <!-- Bluetooth -->
-    <header
+    <!--header
         android:id="@+id/bluetooth_settings"
         android:fragment="com.android.settings.bluetooth.BluetoothSettings"
         android:title="@string/bluetooth_settings_title"
-        android:icon="@drawable/ic_settings_bluetooth2" />
+        android:icon="@drawable/ic_settings_bluetooth2" /-->
     <!-- Data Usage -->
     <header
diff --git a/android/packages/apps/Settings/src/com/android/settings/Settings.java b/android/packages/apps/Settings/src/com/android/settings/Settings.java
index 7f2919c..289a685 100644
--- a/android/packages/apps/Settings/src/com/android/settings/Settings.java
+++ b/android/packages/apps/Settings/src/com/android/settings/Settings.java
@@ -140,8 +140,8 @@ public class Settings extends PreferenceActivity
     // Show only these settings for restricted users
     private int[] SETTINGS_FOR_RESTRICTED = {
    
    
             R.id.wireless_section,
-            R.id.wifi_settings,
-            R.id.bluetooth_settings,
+            //R.id.wifi_settings,
+            //R.id.bluetooth_settings,
             R.id.data_usage_settings,
             R.id.wireless_settings,
             R.id.device_section,
@@ -565,7 +565,7 @@ public class Settings extends PreferenceActivity
             int id = (int) header.id;
             if (id == R.id.operator_settings || id == R.id.manufacturer_settings) {
    
    
                 Utils.updateHeaderToSpecificActivityFromMetaDataOrRemove(this, target, header);
-            } else if (id == R.id.wifi_settings) {
    
    
+            /*} else if (id == R.id.wifi_settings) {
    
    
                 // Remove WiFi Settings if WiFi service is not available.
                 if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI)) {
    
    
                     target.remove(i);
@@ -574,7 +574,7 @@ public class Settings extends PreferenceActivity
                 // Remove Bluetooth Settings if Bluetooth service is not available.
                 if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH) || isCurrentDeviceConnected()) {
    
    
                     target.remove(i);
-                }
+                }*/
             } else if (id == R.id.data_usage_settings) {
    
    
                 // Remove data usage when kernel module not enabled
                 final INetworkManagementService netManager = INetworkManagementService.Stub
@@ -819,8 +819,8 @@ public class Settings extends PreferenceActivity
         static int getHeaderType(Header header) {
    
    
             if (header.fragment == null && header.intent == null) {
    
    
                 return HEADER_TYPE_CATEGORY;
-            } else if (header.id == R.id.wifi_settings || header.id == R.id.bluetooth_settings) {
    
    
-                return HEADER_TYPE_SWITCH;
+            /*} else if (header.id == R.id.wifi_settings || header.id == R.id.bluetooth_settings) {
    
    
+                return HEADER_TYPE_SWITCH;*/
             } else if (header.id == R.id.security_settings) {
    
    
                 return HEADER_TYPE_BUTTON;
             } else {
    
    
@@ -932,11 +932,11 @@ public class Settings extends PreferenceActivity
                 case HEADER_TYPE_SWITCH:
                     // Would need a different treatment if the main menu had more switches
-                    if (header.id == R.id.wifi_settings) {
    
    
+                    /*if (header.id == R.id.wifi_settings) {
    
    
                         mWifiEnabler.setSwitch(holder.switch_);
                     } else {
    
    
                         mBluetoothEnabler.setSwitch(holder.switch_);
-                    }
+                    }*/
                     updateCommonHeaderView(header, holder);
                     break;

2.状态栏下拉快捷设置:屏蔽掉wifi和蓝牙的选项

diff --git a/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java b/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
index 648f55a..6809d41 100755
--- a/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
+++ b/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
@@ -445,7 +445,7 @@ class QuickSettings {
    
    
                         (wifiState.connected) ? wifiState.label : ""));
             }
         });
-        parent.addView(wifiTile);
+        //parent.addView(wifiTile);
         if (mModel.deviceHasMobileData()) {
    
    
             // RSSI
@@ -647,7 +647,7 @@ class QuickSettings {
    
    
                     bluetoothTile.setText(state.label);
                 }
             });
-            parent.addView(bluetoothTile);
+            //parent.addView(bluetoothTile);
         }
         // Location

整编烧录固件,实测系统已经屏蔽了wifi与蓝牙,不影响功能。

猜你喜欢

转载自blog.csdn.net/weixin_45639314/article/details/131704346