1. 程式人生 > >android預設輸入法配置

android預設輸入法配置

   此方法的優點是一次肯定搞定,所以寫一下 android版本4.03

這個方法是不用區分版本的,基本上都有效

1.手機開機,安裝上你要預設配置的輸入法,並且將其設定為預設輸入法

2.連結adb,匯出資料庫(4.03的user版本的話,命令列adb root 就有root許可權,以後的版本你需要使用eng版本,如4.22需要 adb remount 一下)

  匯出檔案/data/data/com.android.providers.settings/database/settings.db    

3.使用sql工具開啟settings.db    ,我用的是Navicat for SQLite,查看錶secure,

檢視default_input_method的值

     

4.開啟檔案 /frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

   到函式    private void loadSecureSettings(SQLiteDatabase db)

   新增程式碼

private void loadSecureSettings(SQLiteDatabase db) {
        SQLiteStatement stmt = null;
        try {
            stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)"
                    + " VALUES(?,?);");
    
            loadBooleanSetting(stmt, Settings.Secure.BLUETOOTH_ON,
                    R.bool.def_bluetooth_on); 

            loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
                       R.string.default_input_method); 

            // Data roaming default, based on build
            loadSetting(stmt, Settings.Secure.DATA_ROAMING,
                    "true".equalsIgnoreCase(
                            SystemProperties.get("ro.com.android.dataroaming",
                                    "false")) ? 1 : 0);
           。。。。。。。。
  

5.配置xml檔案 \frameworks\base\packages\SettingsProvider\res\values/defaults.xml

  新增預設輸入法

    <string name="default_input_method" translatable="false">

     com.thihaayekyaw.frozenkeyboard/com.example.android.softkeyboard.SoftKeyboard</string> 

6.大功告成