下面以secure_test和system_test为例:
1.注意添加属性的的对应位置

core/java/android/provider/Settings.java

       /**
         * SECURE TEST
         * 1 disable
         * 0 enable
         * @hide
         */
        public static final String SECURE_TEST = "secure_test";


       /**
         * SYSTEM TEST
         * 1 disable
         * 0 enable
         * @hide
         */
        public static final String SYSTEM_TEST = "system_test";

2.添加默认值

packages/SettingsProvider/res/values/defaults.xml
     <!-- Default for Settings.Secure.SECURE_TEST -->
     <bool name="def_secure_test">false</bool>
 
     <!-- Default for Settings.System.SYSTEM_TEST -->
     <bool name="def_system_test">false</bool>

packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
Settings.Secure.SECURE_TEST
packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
VALIDATORS.put(Secure.SECURE_TEST,BOOLEAN_VALIDATOR);

packages/SettingsProvider/src/android/provider/settings/backup/SystemSettings.java
Settings.System.SYSTEM_TEST
packages/SettingsProvider/src/android/provider/settings/validators/SystemSettingsValidators.java
VALIDATORS.put(System.SYSTEM_TEST, BOOLEAN_VALIDATOR);

packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
loadBooleanSetting(stmt,Settings.Secure.SECURE_TEST,R.bool.def_secure_test);
loadBooleanSetting(stmt,Settings.System.SYSTEM_TEST,R.bool.def_system_test);

services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
SECURE_SETTINGS_DEVICEOWNER_ALLOWLIST.add(Settings.Secure.SECURE_TEST);

3.查看属性

adb shell settings list secure
adb shell settings list system

4.设置属性

adb shell settings put secure secure_test 1
adb shell settings put system system_test 1
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐