Android默认输入法勾选多国语言,并默认其中一种语言

1.首先在设备上调整输入法

设置>语言输入法>Android键盘(AOSP),在输入语言里勾选要选择的语言,比如选“英语(美国)”和“西班牙文”两种:

技术分享


2.选择系统输入法的默认语言(默认为两种语言中的“西班牙文”)

打开一个能能调出输入法的应用,下拉通知栏里,“选择输入法”调整为“西班牙文”

技术分享


3.查看Setting数据库文件

adb pull data/data/com.android.providers.settings/databases/settings.db C:\

打开Secure表,查看default_input_method,enabled_input_methods和selected_input_method_subtype三个字段内容,并记录:

技术分享

default_input_method       com.android.inputmethod.latin/.LatinIME

enabled_input_methods    com.android.inputmethod.latin/.LatinIME;816242702;-921088104

selected_input_method_subtype    816242702


4.修改SettingsProvider文件

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

将函数private void loadSecureSettings(SQLiteDatabase db) 中的以下两行(注意是loadSecureSettings函数,不是loadSystemSettings):

           

 loadSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS, defaultIme);
            loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, defaultIme);

修改为以下三行:

loadSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,"com.android.inputmethod.latin/.LatinIME;816242702;-921088104");//选中的输入法
loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, "com.android.inputmethod.latin/.LatinIME");// 默认输入法为系统输入法
loadSetting(stmt, Settings.Secure.SELECTED_INPUT_METHOD_SUBTYPE, "816242702"); // 默认输入法的默认语言


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。