踩坑之默認輸入法配置

前言

在實際項目開發過程當中,須要集成客戶的輸入法,但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界面的解決方法

相關文章
相關標籤/搜索