Android设置默认输入法

来源:互联网 发布:广州火舞软件 编辑:程序博客网 时间:2024/05/01 17:17
方法一:
        修改文件如下:
               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 来预设的,
        在系统首次启动时加载此文件,并应用文件中的设置。文件如下: 

        例: 设置百度输入法为默认输入法
frameworks\base\packages\SettingsProvider\res\values\defaults.xml  
 <string name="config_default_input_method" translatable="false"> com.baidu.input/.ImeService</string> 

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 添加一个属性:   

 <string name="config_default_input_method" translatable="false">  com.baidu.input/.ImeService</string> 

在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.xmlString 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) {}} 

最后,别忘了要在\frameworks\base\core\res\res\values\symbols.xml 中添加 

<java-symbol type="string" name="config_default_input_method" />


0 0
原创粉丝点击