android默认输入法配置

来源:互联网 发布:23种设计模式java 编辑:程序博客网 时间:2024/05/17 06:02

   此方法的优点是一次肯定搞定,所以写一下 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.大功告成


0 0
原创粉丝点击