【Android系统源码修改】如何定制出厂默认输入法

方法一:

修改文件如下:
frameworks\base\packages\SettingsProvider\res\values\defaults.xml
frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
一些系统定制信息是通过 frameworks/base/package/settingsproviders/res/values/defaults.xml 来预设的,
在系统首次启动时加载此文件,并应用文件中的设置。文件如下:
例子: 设置默认输入法为google拼音
M frameworks\base\packages\SettingsProvider\res\values\defaults.xml

  
com.android.inputmethod.pinyin/.PinyinIME 

frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
在loadSecureSettings()中增加一条语句,制定默认使能的输入法

  loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,    R.string.config_default_input_method );   

方法二:

修改文件如下:
frameworks\base\core\res\res\values\config.xml
frameworks\base\services\java\com\android\server \InputMethodManagerService.java
在 frameworks\base\core\res\res\values\config.xml 添加一个属性:

 com.android.inputmethod.pinyin/.PinyinIME  

frameworks\base\services\java\com\android\server\InputMethodManagerService.java 的方法 buildInputMethodListLocked() 里添加:

  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 ) {   
       }   
   }   

你可能感兴趣的:(Android系统源码修改)