默认搜狗输入法

方法一

  1. frameworks\base\packages\SettingsProvider\res\values\defaults.xml
    1
    2
    3
    4
       <!--create by chensy 默认搜狗输入法-->
    <!--<string name="def_input_method" translatable="false">com.android.inputmethod.pinyin/.PinyinIME</string> -->
    <string name="def_input_method" translatable="false">com.sohu.inputmethod.sogou/.SogouIME</string>
    <!--create by chensy 默认搜狗输入法-->
  2. frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
    1
    loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,R.string.def_input_method);
  3. 系统要安装搜狗输入法,或预置到系统中

方法二

  1. 在 frameworks\base\core\res\res\values\config.xml 添加一个属性:
    1
    2
    <string name="config_default_input_method" translatable="false">
    com.sohu.inputmethod.sogou/.SogouIME</string>
    frameworks\base\services\java\com\android\server\InputMethodManagerService.java 的方法 buildInputMethodListLocked() 里添加:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    String defaultIme = Settings.Secure.getString(mContext 
    .getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);

    if ( defaultIme == null )
    {
    final Resources res = mContext.getResources();
    try
    {
    //frameworks\base\core\res\res\values\config.xml
    String myIME = res.getString( com.android.internal.R.string.config_default_input_method );
    if ( myIME != null && myIME.length() > 0 )
    {
    Settings.Secure.putString( mContext.getContentResolver(),
    Settings.Secure.DEFAULT_INPUT_METHOD,
    myIME );
    }
    }
    catch ( Exception e )
    {
    }
    }

  2. 系统要安装搜狗输入法,或预置到系统中

将系统中所有输入法设置为可用

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

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

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

1
2
3
4
5
6
百度:com.baidu.input/.ImeService
讯飞:com.iflytek.inputmethod/.FlyIME
腾讯:com.tencent.qqpinyin/.QQPYInputMethodService
谷歌:com.google.android.inputmethod.pinyin/.PinyinIME
搜狗:com.sohu.inputmethod.sogou/.SogouIME
触宝:com.cootek.smartinput5/.TouchPalIME