欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

踩坑之默认输入法配置

程序员文章站 2022-06-05 15:59:06
...

前言

在实际项目开发过程中,需要集成客户的输入法,但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拼音输入法,则如下配置:

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

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

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

ime list -s
复制代码

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

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

互动

如果文章存在错误描述,可直接留言,一起探讨!

最后

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

踩坑之默认输入法配置

相关标签: Android系统