Android默认输入法
来源:互联网 发布:java.nio jar包下载 编辑:程序博客网 时间:2024/06/05 08:31
工作时经常会接到修改默认输入法的需求,在网上也可以找到很多这方面的资料,但有很多是修改了没起作用的。有一部分是因为他们只是默认了输入法,而没有使可用输入法。要默认的输入法一定要在编译系统时预置进去,要修改的地方有两处:
frameworks\base\packages\SettingsProvider\res\values\defaults.xml
frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
其实很多的Android默认值都是在defaults.xml中设置的,默认输入法在defaults的修改是增加
<string name="enabled_input_methods" translatable="false">"com.mls.numkeyboard/org.nyanya.android.traditionalt9.TraditionalT9:com.android.inputmethod.latin/.LatinIME"</string><string name="default_input_methods" translatable="false">"com.mls.numkeyboard/org.nyanya.android.traditionalt9.TraditionalT9"</string>com.mls.numkeyboard是输入法的包名,org.nyanya.android.traditionalt9.TraditionalT9是输入法的service的name.
然后再在DatabaseHelper.java的loadSecureSettings(SQLiteDatabase db)方法的最后增加
loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS, R.string.enabled_input_methods);loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.default_input_methods);编译烧录系统修改默认输入法就完成了。默认输入法之后,切换系统语言后当前输入法可能也会切换为Android键盘。
如果想要当前输入法不随着系统语言的改变而改变,可以找到frameworks\base\services\core\java\com\android\server\InputMethodManagerService.java
在InputMethodManagerService中找到代码
// IMMS wants to receive Intent.ACTION_LOCALE_CHANGED in order to update the current IME // according to the new system locale. final IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_LOCALE_CHANGED); mContext.registerReceiver( new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { synchronized(mMethodMap) { // resetStateIfCurrentLocaleChangedLocked();把这行代码注释 } } }, filter);把resetStateIfCurrentLocaleChangedLocked();注释掉之后当前输入法就不会因为切换系统语言而改变了。
0 0
- android 设置默认输入法
- android默认输入法设置
- android 设置默认输入法
- android默认输入法配置
- android设置默认输入法
- android默认输入法设置
- Android 修改默认输入法
- android修改默认输入法
- Android设置默认输入法
- android设置默认输入法
- Android默认输入法设置
- Android 修改默认输入法
- android默认输入法设置
- android 默认输入法设置
- android 内置默认输入法
- Android默认输入法
- 修改android默认输入法
- 修改其他输入法为android 默认输入法
- javaWeb 中的四个域
- 改变Xcode编码区域背景颜色
- Android关于友盟推送 与百度地图、阿里支付的冲突解决问题
- 2016新录的框架录像
- 微信小程序 canvas控件与html中canvas的不同
- Android默认输入法
- Android 使用JDBC连接数据库
- h.264语法结构分析
- NVIDIA Jetson TX1(5)
- Author Topic Model[ATM理解及公式推导]
- java中注解的使用与实例 (二)
- Windows环境安装及配置MongoDB
- 使用getIdentifier()获取资源Id
- Spearman秩相关系数和Pearson皮尔森相关系数