Android11 通过升级Settings数据强制覆盖用户的设置项

硬件:QCS6125

软件:Android 11

需求:设备通过OTA升级,强制修改用户的settings键值;

直接上改动,通过升级Settings的API level去做处理:

--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -3513,7 +3513,7 @@ public class SettingsProvider extends ContentProvider {
         }
 
         private final class UpgradeController {
-            private static final int SETTINGS_VERSION = 192;
+            private static final int SETTINGS_VERSION = 193;
 
             private final int mUserId;
 
@@ -4911,6 +4911,25 @@ public class SettingsProvider extends ContentProvider {
                     currentVersion = 192;
                  }
 
+                if (currentVersion == 192) {
+                    final SettingsState globalSettings = getGlobalSettingsLocked();
+                    globalSettings.insertSettingOverrideableByRestoreLocked(
+                            Global.AIRPLANE_MODE_ON,
+                            getContext().getResources().getBoolean(
+                                    R.bool.def_airplane_mode_on) ? "1" : "0",
+                            null, true, SettingsState.SYSTEM_PACKAGE_NAME);
+
+                    globalSettings.insertSettingOverrideableByRestoreLocked(
+                            Global.BLUETOOTH_ON,
+                            getContext().getResources().getBoolean(
+                                    R.bool.def_bluetooth_on) ? "1" : "0",
+                            null, true, SettingsState.SYSTEM_PACKAGE_NAME);
+                    currentVersion = 193;
+                 }
+
                 // vXXX: Add new settings above this point.
 
                 if (currentVersion != newVersion) {

编译SettingsProvider安装验证即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值