赞
踩
在定制系统中,通常需要修改Settings默认设置来达到需求的目的。而Settings相关数据库操作的包位于framework/base/packages/SetingsProvider
修改Settings数据库的默认值(准确点说是第一次开机后的值) ,对应的是SettingsProvider,他的数据自定义SqlDatabaserHepler是 DataBaseHelper
默认字段的添加对应文件为 :framework/base/packages/SetingsProvider/ res/values/defaultx.xml
根据源编的注释和英文缩写,可以知道defaultx.xml中参数的含义,这里举几个例子说明。
设置默认输入法为百度输入法:
<string name="default_input_method" translatable="false">com.baidu.input/.ImeService</string>
此处com.baidu.input/.ImeService为百度输入法包名
设置是否默认允许安装第三方应用(某些定制简化操作的系统需要用到)
<bool name="def_install_non_market_apps">false</bool>
蓝牙和wifi的状态
<bool name="def_bluetooth_on">false</bool>
<bool name="def_wifi_display_on">false</bool>
想要修改Settings数据库的默认值,找到对应的参数修改就可以实现了,当然也有部分参数需要配合其他代码才能达到效果,例如内置百度输入法并使用,除了在defaultx.xml中修改添加参数以外,还需要修改读取代码,路径和代码如下:frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
-String config_defaultIME=mContext.getResources().getString(R.string.config_defaultIME);
-if(config_defaultIME!=null&&(!" ".equals(config_defaultIME)))
-loadSetting(stmt,Settings.Secure.DEFAULT_INPUT_METHOD,config_defaultIME);
+loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
+R.string.def_input_method );
并将输入法APK预编译到系统中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。