Android定製出廠默認輸入法(其他設置類似)

方法一: 
\frameworks\base\packages\SettingsProvider\res\values\defaults.xml 
\frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java 
設置默認輸入法爲google拼音 
\frameworks\base\packages\SettingsProvider\res\values\defaults.xml 

    <string name="config_default_input_method" translatable="false">com.android.inputmethod.pinyin/.PinyinIME</string> 

在frameworks\base\core\res\res\values\config.xml 加了

<string name="config_default_input_method">com.android.inputmethod.pinyin/.PinyinIME</string> 之後,

還要在frameworks\base\core\res\res\values\symbols.xml中加上
<java-symbol type="string" name="config_default_input_method" />
這樣就可以找到com.android.internal.R.string.config_default_input_method了。

  
\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">com.android.inputmethod.pinyin/.PinyinIME</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.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 ) 
            { 
            } 
        } 

方法三: 
frameworks/base/package/settingsproviders/res/values/defaults.xml 
在文件frameworks/base/package/settingsproviders/src/com/android/providers/settings/DatabaseHelper.java 

一些系統定製信息是通過 
frameworks/base/package/settingsproviders/res/values/defaults.xml來預設的,在系統首次啓動時加載此文件,並應用文件中的設置。文件如下: 
<string name="def_enabled_input_methods">com.sohu.inputmethod.sogou/.SogouIME:com.android.inputmethod.pinyin/.PinyinIME</string>

在文件frameworks/base/package/settingsproviders/src/com/android/providers/settings/DatabaseHelper.java的函數 
loadSecureSettings()中增加一條語句,制定默認使能的輸入法  
loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS, 

                R.string.def_enabled_input_methods);


設置USB調試出廠時默認打開的方法(4.0以後的版本):

在UsbDeviceManager.java中

String value = SystemProperties.get("persist.service.adb.enable", "");

邏輯判斷後加上:

setAdbEnabled(true);


http://wenku.baidu.com/link?url=76qWwPPj_XxhLgJZYUfaE6puUv1T4sH_qqugCfR3qXg1EW4-QW_cXQTvH37uRqOqChHeU5c6eK7sNJyamPA3fuEN329U3xvl5IHQOCjbYkC



發佈了50 篇原創文章 · 獲贊 10 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章