分享

Android修改默认的键盘输入法

 Ebric 2012-05-24
在Android系统中,默认的是google拼音输入法,因客户需求,需要将默认的拼音输入法修改为Android键盘,具体步骤如下:

方法1:

在com.android.settings.LanguageSettings中的onCreateIMM()方法有如下代码:

    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

     mInputMethodProperties = imm.getInputMethodList();

    mLastInputMethodId = Settings.Secure.getString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
    
    Android系统会从默认配置数据库中取出默认的输入法,因此我们只需要在数据库中添加默认的输入法即可:
    
    步骤如下:
    
    1、修改\frameworks\base\packages\SettingsProvider\res\values\defaults.xml文件
      添加<string name="config_default_input_method" translatable="false">com.android.inputmethod.latin/.LatinIME</string>
    
     2、将该默认配置添加至数据库:
    \frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java

        private void loadSecureSettings(SQLiteDatabase db) {
        
                。。。。
                。。。。
                loadStringSetting( stmt, Settings.Secure.DEFAULT_INPUT_METHOD,R.string.config_default_input_method );
        
        
方法2:

    1、修改frameworks\base\core\res\res\values\config.xml文件
     添加<string name="config_default_input_method" translatable="false">com.android.inputmethod.latin/.LatinIME</string>
    
    2、修改frameworks\base\services\java\com\android\server\InputMethodManagerService.java文件中的buildInputMethodListLocked()方法
    if ( defaultIme == null ) { // 有人反映此处判断 有问题的  小心哟
        String defaultIme = Settings.Secure.getString(mContext.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
            final Resources res = mContext.getResources();
             try {
                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 ) {

            }
        

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多