Android源码中默认的有三种输入法:英文,中文,日文。对应的工程代码路径为:
/packages/inputmethods/LatinIME/
/packages/inputmethods/OpenWnn/
/packages/inputmethods/PinyinIME/
在settinglibs中找到 InputMethodAndSubtypeEnablerManager.java 可以查看控制 默认打开语言选项的类
INPUT_METHOD_SUBTYPE_SETTINGS
不同方案可能不成功
方法一:
进入原生语言勾选设置界面:
进入 Language&input-virtual keyboard(虚拟键盘)
-选择一个要用的输入法
-进入设置语言选择界面
-选择语言后退出
或命令打开语言勾选设置:
选择语言 通过activity打开
am start -n com.android.inputmethod.latin/.settings.SettingsActivity
勾选界面 通过activity打开
am start -n com.android.settings/.inputmethod.InputMethodAndSubtypeEnablerActivity
勾选界面 通过action打开
am start -a android.settings.INPUT_METHOD_SUBTYPE_SETTINGS
-选择语言后退出
查看 secure库中的enabled_input_methods值:
或 串口中输入以下命令查看
settings get secure enabled_input_methods
串口命令获取到如下 输入法字符串
com.android.inputmethod.latin/.LatinIME;-486540198;843948332;-921088104:com.hisilicon.android.inputmethod.latin/.LatinIME
其中的数字串就是语言码
以下设置默认输入法的默认语言:
将获取的输入法字符串添加到以下:
- frameworks\base\packages\SettingsProvider\res\values\defaults.xml
<string name="def_input_methods">com.android.inputmethod.latin/.LatinIME;-486540198; 843948332;-921088104:com.hisilicon.android.inputmethod.latin/.LatinIME
</string>
2.frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
private void loadSecureSettings(SQLiteDatabase db) {
......
loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
R.string.def_input_methods);
}
————————————————
版权声明:本文为CSDN博主「热爱小破球的男孩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_19447521/article/details/105845012