硬件平台:QCS6125
软件平台:Android11
添加三方输入法作为默认输入法,具体改动如下:
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index 4fd30c5226d..c10e354535d 100755
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -62,6 +62,10 @@
<bool name="def_mount_ums_prompt">true</bool>
<bool name="def_mount_ums_notify_enabled">true</bool>
+ <!-- set default input method-->
+ <string name="def_input_method" translatable="false">com.kanyun.megrez.inputmethod.pinyin/.PinyinIME</string>
+ <string name="enabled_input_methods" translatable="false">com.kanyun.megrez.inputmethod.pinyin/.PinyinIME:com.android.inputmethod.pinyin/.PinyinIME</string>
+
<!-- user interface sound effects -->
<integer name="def_power_sounds_enabled">1</integer>
<string name="def_low_battery_sound" translatable="false">/product/media/audio/ui/LowBattery.ogg</string>
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 72a53305531..cbc7193607d 100755
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2322,6 +2322,11 @@ class DatabaseHelper extends SQLiteOpenHelper {
stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)"
+ " VALUES(?,?);");
+ loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
+ R.string.def_input_method);
+ loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
+ R.string.enabled_input_methods);
+
// Don't do this. The SystemServer will initialize ADB_ENABLED from a
// persistent system property instead.
//loadSetting(stmt, Settings.Secure.ADB_ENABLED, 0);
具体配置项的字串怎么获取呢?安装上apk,在settings界面选中该输入法,然后命令行
settings get secure def_input_method;
settings get secure enabled_input_method
如果值不正确,配置失败,也可以shell进去,通过
trinket:/ # ime list -s com.kanyun.megrez.inputmethod.pinyin/.PinyinIME
命令查看输入法ID信息。
拿到值设置到SettingsProvider的配置文件即可。
在QCS6125硬件和Android11软件平台上,通过修改SettingsProvider的defaults.xml和DatabaseHelper.java文件,将三方输入法com.kanyun.megrez.inputmethod.pinyin/.PinyinIME设为默认输入法。配置包括在defaults.xml中添加默认输入法和启用输入法的字符串,以及在DatabaseHelper.java中加载相关设置。若要检查配置是否成功,可以通过命令行工具使用settingsgetsecuredef_input_method和settingsgetsecureenabled_input_method命令,或者使用imelist-s查看输入法ID。
3536

被折叠的 条评论
为什么被折叠?



