通过settings.db自定义Android系统默认设置

时间:2021-11-12 00:52:58

 

Android的系统设置数据存放在/data/data/com.android.providers.settings/databases/settings.db 中

数据库结构如下:

通过settings.db自定义Android系统默认设置

数据库中的默认数据在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、重新编译