Android的系統設置數據存放在/data/data/com.android.providers.settings/databases/settings.db 中
數據庫結構如下:
數據庫中的默認數據在frameworks/base/packages/SettingsProvider/res/values/defaults.xml中定義
通過frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.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、重新編譯