Android设置中默认值的修改

Android系统开发时经常会要求修改设置中的默认值,常用的选项默认值配置在如下文件:

frameworks\base\packages\SettingsProvider\res\values\defaults.xml

对于文件中已经有的配置项可以直接修改,但没有的可以自己增加,比如有客户要求默认设置自动打开开发者选项中的触摸指针位置:

1、首先修改上面的defaults.xml,增加自己如下(红色):

<resources>
<integer name=”def_pointer_location”>1</integer>
<bool name=”def_dim_screen”>true</bool>
<integer name=”def_screen_off_timeout”>-1</integer>
<integer name=”def_sleep_timeout”>-1</integer>
<bool name=”def_airplane_mode_on”>false</bool>
<bool name=”def_theater_mode_on”>false</bool>

————————————–

</resources>

2、修改Settings数据库保存的默认值,对应文件为: frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java

修改此文件中的函数:private void loadSystemSettings(SQLiteDatabase db),增加如下内容(红色):

loadUISoundEffectsSettings(stmt);

loadIntegerSetting(stmt, Settings.System.POINTER_SPEED,
R.integer.def_pointer_speed);

loadIntegerSetting(stmt, Settings.System.POINTER_LOCATION,
R.integer.def_pointer_location);

然后重新编译烧录,OK!

备注,一些配置项在 frameworks\base\core\java\android\provider\Settings.java 里面的system子类中