android 内置默认输入法
方法一:
修改文件如下:
frameworks\base\packages\SettingsProvider\res\values\defaults.xml
frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
一些系统定制信息是通过 frameworks/base/package/settingsproviders/res/values/defaults.xml 来预设的,
在系统首次启动时加载此文件,并应用文件中的设置。文件如下:
例子: 设置默认输入法为google拼音
M frameworks\base\packages\SettingsProvider\res\values\defaults.xml
[java] view plain copy
- <string name="config_default_input_method" translatable="false">
- com.android.inputmethod.pinyin/.PinyinIME</string>
frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
在loadSecureSettings()中增加一条语句,制定默认使能的输入法
[java] view plain copy
- loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
- R.string.config_default_input_method );
方法二:
修改文件如下:
frameworks\base\core\res\res\values\config.xml
frameworks\base\services\java\com\android\server \InputMethodManagerService.java
在 frameworks\base\core\res\res\values\config.xml 添加一个属性:
[java] view plain copy
- <string name="config_default_input_method" translatable="false">
- com.android.inputmethod.pinyin/.PinyinIME</string>
frameworks\base\services\java\com\android\server\InputMethodManagerService.java 的方法 buildInputMethodListLocked() 里添加:
[java] view plain copy
- String defaultIme = Settings.Secure.getString(mContext
- .getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
- if ( defaultIme == null )
- {
- final Resources res = mContext.getResources();
- try
- {
- //frameworks\base\core\res\res\values\config.xml
- String myIME = res.getString( com.android.internal.R.string.config_default_input_method );
- if ( myIME != null && myIME.length() > 0 )
- {
- Settings.Secure.putString( mContext.getContentResolver(),
- Settings.Secure.DEFAULT_INPUT_METHOD,
- myIME );
- }
- }
- catch ( Exception e )
- {
- }
- }
/
1. frameworks\base\packages\SettingsProvider\res\values\defaults.xml 文件中修改默认输入法为搜狗输入法
<stringname="config_default_input_method" translatable="false">com.sohu.inputmethod.sogou/.SogouIME
</string>
<stringname="def_enabled_input_methods" translatable="false">com.sohu.inputmethod.sogou/.SogouIME
</string>
2. frameworks\base\packages\SettingsProvider\src\com\Android\providers\settings\DatabaseHelper.java
在loadSecureSettings()中增加一条语句,制定默认使能的输入法
loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,R.string.config_default_input_method);
loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,R.string.def_enabled_input_methods);
3. 将搜狗输入法放到system/app中
/
1、 需要提前将用到的默认输入法(.apk)内置到系统中
2、将系统中所有的输入法设置为可用,修改
frameworks/base/core/java/com/Android/internal/inputmethod/InputMethodUtils.java
[java] view plain copy
- public void enableAllIMEsIfThereIsNoEnabledIME() {
- - if (TextUtils.isEmpty(getEnabledInputMethodsStr())) {
- + if (!TextUtils.isEmpty(getEnabledInputMethodsStr())) {
- StringBuilder sb = new StringBuilder();
- final int N = mMethodList.size();
3、设置默认输入法为你想要的,例如谷歌拼音,修改
frameworks/base/packages/SettingsProvider/res/values/defaults.xml
[java] view plain copy
- + <string name="def_input_method" translatable="false">com.android.inputmethod.pinyin/.PinyinIME</string>
frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
[java] view plain copy
- -String config_defaultIME=mContext.getResources().getString(R.string.config_defaultIME);
- -if(config_defaultIME!=null&&(!" ".equals(config_defaultIME)))
- -loadSetting(stmt,Settings.Secure.DEFAULT_INPUT_METHOD,config_defaultIME);
- +loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
- +R.string.def_input_method );
PS:附上常见输入法的包名和类名
百度:com.baidu.input/.ImeService
讯飞:com.iflytek.inputmethod/.FlyIME
腾讯:com.tencent.qqpinyin/.QQPYInputMethodService
谷歌:com.google.android.inputmethod.pinyin/.PinyinIME
搜狗:com.sohu.inputmethod.sogou/.SogouIME
触宝:com.cootek.smartinput5/.TouchPalIME
android 内置默认输入法相关推荐
- android百度输入法源码,Android内置第三方输入法
Android内置第三方输入法 本篇讲诉如何再安卓源码中内置第三方输入法,并设为默认输入法启动,以及过程中可能引起的一些其他系统Bug处理: 内置输入法关联源码 各第三方输入法ID 以讯飞为例内置方法 ...
- Android内置第三方输入法
https://blog.csdn.net/u014304560/article/details/78395103
- android11 源码内置第三方输入法并默认选择
目录 1.屏幕截图 2.添加输入法APK 3.配置输入法 4.添加编译 android11内置第三方输入法,设置默认的输入法 1.屏幕截图 默认勾选可操作的输入法列表
- Android (内置)预装应用
Android (内置)预装应用 参考Android 系统如何预装第三方应用以及常见问题汇集. 系统开机时会进行应用的加载(或者说安装),所以我们大体上来说就是需要把要内置的apk放到指定目录就行.最 ...
- Android系统内置第三方输入法
Android系统内置第三方输入法 一.添加APK进系统目录 1.1 package/目录下创建子目录,例如:package/inputmethod/SogouInput 1.2 将下载好的输入法A ...
- Android 修改系统默认输入法
原文出处:http://www.ccbu.cc/framework/modify-default-inputmethod.html 1. 修改系统默认输入法 Android系统的默认输入法在很多情况下 ...
- android 截屏 简书,Android 内置应用截屏方法
Android 中,内置应用如何更好的截屏 在开发系统应用的时候,有时候需要用到截屏,因为 View.getDrawingCache() 截不到状态栏,所以这个方案不理想 这有一个更好的方案,就是用 ...
- Android 内置RTSP/RTMP服务器,实现局域网内视频推流与播放
1. 背景 工作中有一个需求,在同一个局域网内, 需要将Android平板端(车机)上的摄像头上的画面,实时传输到手机上进行播放. 对于这个需求,我们想到了用RTSP/RTMP进行推流,然后在手机端拉 ...
- Android内置多个launcher设置默认launcher
Android设置默认launcher 前言 高通 code MTK code 结语 前言 launcher因为开机即启动,若添加默认launcher过早则可能导致其他进程崩溃,添加过晚则起不到启动默 ...
最新文章
- 暑期集训3:几何基础 练习题B: HDU - 2001
- 帝国Cms虚拟主机突破上传最大文件2m的限制的方法
- 【每日一包0029】merge-descriptors
- CSS 文字处理总结
- 【计算机网络复习 数据链路层】3.3.2 差错控制(纠错编码)
- mybatis日期范围查询_15. Django 2.1.7 模型 条件查询、模糊查询、空查询、比较查询、范围查询、日期查询...
- docker 删除默认连接_database – 如何从已删除的Docker容器中恢复数据?如何将其重新连接到数据?...
- Linux常用50条命令
- SpringMVC小结(四)
- OpenGL天空盒skybox
- 云erp系统、进销存软件、仓储管理系统之间有哪些区别
- 微信小程序 import文件大小限制
- 谷歌浏览器字体最小12px
- JavaScript 获取当前是周几
- 阿里云建站云企业官网标准版/高级版/尊贵版功能对比及选择方法
- html网页设置音频,HTML教程 - 插入声音和音乐到HTML页面里
- php 时间间隔月数,PHP计算两个时间相差的年数、月数和天数程序
- 时间序列预测11:用电量预测 01 数据分析与建模
- Java写的十六进制转十进制和Ascii工具
- Shell之计算命令、流程控制、函数