现在要默认其中一个输入法 另外两个也要打开
先在设备上打开所有输入法
1.记录设置数据库Secure表中DEFAULT_INPUT_METHOD和ENABLED_INPUT_METHODS两个配置项对应的内容。
可以通过如下命令进行获取:
adb shell settings get secure default_input_method //获取DEFAULT_INPUT_METHOD
adb shell settings get secure enabled_input_methods //获取ENABLED_INPUT_METHODS
2.定义DEFAULT_INPUT_METHOD和ENABLED_INPUT_METHODS的默认值在frameworks/base/packages/SettingsProvider/res/values/defaults.xml
<!-- Default for Settings.Secure.DEFAULT_INPUT_METHOD -->
<string name="def_default_input_method" translatable="false">DEFAULT_INPUT_METHOD</string>
<!-- Default for Settings.Secure.ENABLED_INPUT_METHODS -->
<string name="def_enabled_input_methods" translatable="false">ENABLED_INPUT_METHODS</string>
frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java在loadSecureSettings()方法下修改
String defaultInput =mContext.getResources().getString(R.string.def_default_input_method);
if (!TextUtils.isEmpty(defaultInput)) {
loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, defaultInput);
}
String enabledInputs =mContext.getResources().getString(R.string.def_enabled_input_methods);
if (!TextUtils.isEmpty(enabledInputs)) {
loadSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS, enabledInputs);
}