android 5.1.1 下修改出厂默认输入法

来源:互联网 发布:加盟淘宝可靠吗 编辑:程序博客网 时间:2024/06/06 02:37

1、 需要提前将用到的默认输入法(.apk)内置到系统中

2、将系统中所有的输入法设置为可用,修改

frameworks/base/core/Java/com/Android/internal/inputmethod/InputMethodUtils.Java

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1.         public void enableAllIMEsIfThereIsNoEnabledIME() {  
  2. -           if (TextUtils.isEmpty(getEnabledInputMethodsStr())) {  
  3. +           if (!TextUtils.isEmpty(getEnabledInputMethodsStr())) {  
  4.                 StringBuilder sb = new StringBuilder();  
  5.                 final int N = mMethodList.size();  

3、设置默认输入法为你想要的,例如谷歌拼音,修改

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

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. +  <string name="def_input_method" translatable="false">com.android.inputmethod.pinyin/.PinyinIME</string>  

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

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. -String config_defaultIME=mContext.getResources().getString(R.string.config_defaultIME);  
  2. -if(config_defaultIME!=null&&(!" ".equals(config_defaultIME)))  
  3. -loadSetting(stmt,Settings.Secure.DEFAULT_INPUT_METHOD,config_defaultIME);  
  4.   
  5. +loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,  
  6. +R.string.def_input_method );  

PS:附上常见输入法的包名和类名

百度:com.baidu.input/.ImeService
讯飞:com.iflytek.inputmethod/.FlyIME
腾讯:com.tencent.qqpinyin/.QQPYInputMethodService
谷歌:com.google.android.inputmethod.pinyin/.PinyinIME
搜狗:com.sohu.inputmethod.sogou/.SogouIME

原创粉丝点击