最近在弄国内版本的系统,Android内置输入法对国内版本很不友好。所以需要内置一个国内输入法,本篇选择的是百度(Sogou等其他方式是一致的)。
平台
- MTK
- android12
内置apk
修改字符串资源
- frameworks/base/packages/SettingsProvider/res/values/defaults.xml (原生平台修改)
- vendor/mediatek/packages/apps/SettingsProvider/res/values/defaults.xml(mtk修改)
<string name="default_input_method" translatable="false">com.baidu.input/.ImeService</string>
<string name="enabled_input_method" translatable="false">com.baidu.input/.ImeService</string>
com.baidu.input/.ImeService是imi的ID,获取方式
- 安装百度输入法,并设置
- 通过命令获取:adb shell settings get secure default_input_method
加载字符串到settingsProvider
- frameworks\base\packages\apps\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java (原生平台修改)
- vendor\mediatek\proprietary\packages\apps\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java(mtk修改)
loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS, R.string.enabled_input_methods);
loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.default_input_method);
验证
adb shell settings get secure default_input_method