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