android 11 开机默认打开蓝牙

代码分析

一般来说蓝牙,默认开启的位置在frameworks层里面定义,但是更改后发现并没有开启,又想到overlay里面把他给覆盖了,(device、vendor、packages、frameworks里面都可能有overlay覆盖原来的代码)更改后发现还是未开启状态,最后在系统里面打开才可以。

frameworks:

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

loadBooleanSetting(stmt,Settings.Global.BLUETOOTH_ON,R.bool.def_bluetooth_on);


overlay:

alps/device/mediatek/system/common/overlay/ago/frameworks/base/packages/SettingsProvider/res/values/defaults.xml 
old mode 100644
new mode 100755
index 44c2bfb..ee48b3b
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-<bool name="def_bluetooth_on">false</bool>
+<bool name="def_bluetooth_on">true</bool>
 <!-- Do not enable auto rotation switching. -->
 <bool name="def_accelerometer_rotation">false</bool>
 </resources>

 PhoneWindowManager.java:

alps/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java 
index 2b55c34..d6f016f 100755
@@ -231,6 +231,8 @@ import java.io.PrintWriter;
 import java.util.HashSet;
 import java.util.List;
 
+import android.bluetooth.BluetoothAdapter;
+
 /**
  * WindowManagerPolicy implementation for the Android phone UI.  This
  * introduces a new method suffix, Lp, for an internal lock of the
@@ -4831,8 +4833,17 @@ public class PhoneWindowManager implements WindowManagerPolicy {
         }
 
         mAutofillManagerInternal = LocalServices.getService(AutofillManagerInternal.class);
+        
+        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+         if (!mBluetoothAdapter.isEnabled()) {
+            mBluetoothAdapter.enable();	//lyz default open bt
+        }
     }
 
+	private BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+
+
+
     /** {@inheritDoc} */
     @Override
     public void systemBooted() {

代码位置

alps$ git status .


        modified:   device/mediatek/common/overlay/ago/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
        modified:   device/mediatek/common/overlay/ago/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml
        modified:   device/mediatek/system/common/overlay/ago/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
        modified:   device/mediatek/system/common/overlay/ago/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml
        modified:   frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
        modified:   vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
        modified:   vendor/mediatek/proprietary/packages/overlay/vendor/SettingsProviderResOverlay/bt_default_off/res/values/defaults.xml

具体代码

 alps/device/mediatek/common/overlay/ago/frameworks/base/packages/SettingsProvider/res/values/defaults.xml 
old mode 100644
new mode 100755
index 44c2bfb..ee48b3b
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-<bool name="def_bluetooth_on">false</bool>
+<bool name="def_bluetooth_on">true</bool>
 <!-- Do not enable auto rotation switching. -->
 <bool name="def_accelerometer_rotation">false</bool>
 </resources>

 alps/device/mediatek/common/overlay/ago/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml 
index 7ed7bd3..9fde3f7 100755
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-<bool name="def_bluetooth_on">false</bool>
+<bool name="def_bluetooth_on">true</bool>
 <!-- Do not enable auto rotation switching. -->
 <bool name="def_accelerometer_rotation">false</bool>
 <bool name="def_networks_available_notification_on">false</bool>

 alps/device/mediatek/system/common/overlay/ago/frameworks/base/packages/SettingsProvider/res/values/defaults.xml 
old mode 100644
new mode 100755
index 44c2bfb..ee48b3b
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-<bool name="def_bluetooth_on">false</bool>
+<bool name="def_bluetooth_on">true</bool>
 <!-- Do not enable auto rotation switching. -->
 <bool name="def_accelerometer_rotation">false</bool>
 </resources>

 alps/device/mediatek/system/common/overlay/ago/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml 
old mode 100644
new mode 100755
index 7ed7bd3..9fde3f7
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-<bool name="def_bluetooth_on">false</bool>
+<bool name="def_bluetooth_on">true</bool>
 <!-- Do not enable auto rotation switching. -->
 <bool name="def_accelerometer_rotation">false</bool>
 <bool name="def_networks_available_notification_on">false</bool>

 alps/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java 
index 2b55c34..d6f016f 100755
@@ -231,6 +231,8 @@ import java.io.PrintWriter;
 import java.util.HashSet;
 import java.util.List;
 
+import android.bluetooth.BluetoothAdapter;
+
 /**
  * WindowManagerPolicy implementation for the Android phone UI.  This
  * introduces a new method suffix, Lp, for an internal lock of the
@@ -4831,8 +4833,17 @@ public class PhoneWindowManager implements WindowManagerPolicy {
         }
 
         mAutofillManagerInternal = LocalServices.getService(AutofillManagerInternal.class);
+        
+        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+         if (!mBluetoothAdapter.isEnabled()) {
+            mBluetoothAdapter.enable();	//lyz default open bt
+        }
     }
 
+	private BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+
+
+
     /** {@inheritDoc} */
     @Override
     public void systemBooted() {

 alps/vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java 
old mode 100644
new mode 100755
index da0ea47..1af7eaf
@@ -2410,6 +2410,9 @@ class DatabaseHelper extends SQLiteOpenHelper {
 
             loadIntegerSetting(stmt, Settings.Secure.SLEEP_TIMEOUT,
                     R.integer.def_sleep_timeout);
+			
+ 
+			loadSetting(stmt, Settings.Secure.BLUETOOTH_ON,"1");
 
             /// M: Load MTK added Secure providers before Android M.
             mUtils.loadCustomSecureSettings(stmt);

 alps/vendor/mediatek/proprietary/packages/overlay/vendor/SettingsProviderResOverlay/bt_default_off/res/values/defaults.xml 
old mode 100644
new mode 100755
index 0c4c368..f03c49c
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <bool name="def_bluetooth_on">false</bool>
+    <bool name="def_bluetooth_on">true</bool>
 </resources>

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值