转:Android定制出厂默认输入法

来源:互联网 发布:淘宝店全屏自定义代码 编辑:程序博客网 时间:2024/06/01 09:00
方法一:
        修改文件如下:
               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           
[java] view plaincopy
  1. <string name="config_default_input_method" translatable="false">  
  2.  com.android.inputmethod.pinyin/.PinyinIME</string>   

  
           frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
                   在loadSecureSettings()中增加一条语句,制定默认使能的输入法             
[java] view plaincopy
  1. loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,   
  2.                       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 添加一个属性:            
[java] view plaincopy
  1. <string name="config_default_input_method" translatable="false">  
  2.  com.android.inputmethod.pinyin/.PinyinIME</string>   

           frameworks\base\services\java\com\android\server\InputMethodManagerService.java  的方法 buildInputMethodListLocked() 里添加:     
[java] view plaincopy
  1. String defaultIme = Settings.Secure.getString(mContext   
  2.              .getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);   
  3.   
  4.      if ( defaultIme == null )   
  5.      {   
  6.          final Resources res = mContext.getResources();   
  7.          try   
  8.          {   
  9.              //frameworks\base\core\res\res\values\config.xml   
  10.              String myIME = res.getString( com.android.internal.R.string.config_default_input_method );   
  11.              if ( myIME != null && myIME.length() > 0 )   
  12.              {   
  13.                  Settings.Secure.putString( mContext.getContentResolver(),   
  14.                          Settings.Secure.DEFAULT_INPUT_METHOD,   
  15.                          myIME );   
  16.              }   
  17.          }   
  18.          catch ( Exception e )   
  19.          {   
  20.          }   
  21.      }   
原创粉丝点击