踩坑之默认输入法配置

前言

在实际项目开发过程当中,须要集成客户的输入法,但Android原生并不支持输入法的配置。在这里记录下实际操做。android

支持默认输入法配置

Android原生并不支持默认输入法的设置,默认就是谷歌原生的输入法。若是要默认配置使用搜狗输入法或者QQ拼音输入法的话,能够使用以下方法:数据库

1.安装对应输入法的安装包,install或者系统内置均可以;

2.在设置的数据库中直接加载默认的输入法
frameworks/base/packages/SettingsProvider/src/values/default
private void loadSecureSettings(SQLiteDatabase db) {
    
    .....
    //在这里加上默认输入法的加载
    loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.default_input_method);
    
    loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS, R.string.enabled_input_methods);
    
    ....
}
复制代码

通常setting的默认配置项都是经过SettingProvider来进行配置的,如上的文件,就用于加载各类默认的配置项,在此加上输入法的默认配置。因此,在此咱们还得在以下文件中增长输入法的配置:微信

frameworks/base/packages/SettingsProvider/res/values/default.xml

<string name="enabled_input_methods" translatable="false">com.android.inputmethod.latin/.LatinIME</string>

<string name="default_input_method" translatable="false">com.android.inputmethod.latin/.LatinIME</string>
复制代码

如上是配置了原生的输入法,若是配置使用QQ拼音输入法,则以下配置:ide

<string name="enabled_input_methods" translatable="false">com.tencent.qqpinyin/.QQPYInputMethodService</string>

<string name="default_input_method" translatable="false">com.tencent.qqpinyin/.QQPYInputMethodService</string>
复制代码

查找当前可用的输入法,可以使用以下指令:post

ime list -s
复制代码

使用adb指令设置查看当前输入法和设置输入法,可以使用以下方法:spa

settings get secure default_input_method //获取当前输入法
settings put secure default_input_method com.tencent.qqpinyin/.QQPYInputMethodService //设置当前输入法为qq输入法
复制代码

互动

若是文章存在错误描述,可直接留言,一块儿探讨!3d

最后

我在微信公众号也有写文章,更新比较及时,有兴趣者能够关注以下公众号!code

可能感兴趣的文章

踩坑之NavigationBar 的隐藏与否cdn

Android的自救---RescuePartyxml

关于Android9.0开机黑屏一段时间才加载launcher界面的解决方法

相关文章
相关标签/搜索