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子类中