抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

在Android系统固件中修改默认输入法

最近有一个需求,需要预置一个搜狗输入法,记录步骤如下:

在frameworks的/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java中找到静态代码块:

static {
        mValidTables.add(TABLE_SYSTEM);
        mValidTables.add(TABLE_SECURE);
//-----------------省略一大堆---以下为关键代码---------------//
if(isSogouInputMethodExist()){
loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
R.string.def_input_method_sogou);
}
//----------在方法体内加上该部分代码-------//

另外在类中增加一个方法用于客制化:

  private boolean isSogouInputMethodExist(){
     boolean isSogouInputMethodExist =SystemProperties.getBoolean("ro.sys.sogouinput", false);
   return isSogouInputMethodExist;
}

然后在同应用SettingsProvider中的SettingsProvider/res/values/defaults.xml的最末尾添加

<!-- Default for Settings.System.DEFAULT_INPUT_METHOD-->

<string name="def_input_method_sogou" translatable="false">com.sohu.inputmethod.sogouoem/.SogouIME</string>

至此,可以使用“ro.sys.sogouinput”该属性进行控制是否设置为默认输入法,客制化不再赘述。


0条评论

发表评论