Android的系统设置数据存放在/data/data/com.android.providers.settings/databases/settings.db 中
数据库结构如下:
数据库中的默认数据在frameworks/base/packages/SettingsProvider/res/values/defaults.xml中定义
通过frameworksasepackagesSettingsProvidersrccomandroidproviderssettingsDatabaseHelper.java对数据库结构及初始值进行初始化。
如果要在系统中添加默认设置,需要如下步骤(以带物理键盘的系统中默认打开软键盘为例):
1、在defaults.xml中为新加的数据定义一个默认值
<integer name="show_ime_with_hard_keyboard">1</integer>
2、在DatabaseHelper.java中的loadSecureSettings(SQLiteDatabase db)方法中加入新字段的添加代码
loadStringSetting(stmt, Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD,
R.string.show_ime_with_hard_keyboar);
3、重新编译