方法一:

修改文件如下:
               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

  1. <string name="config_default_input_method" translatable="false">
  2. com.android.inputmethod.pinyin/.PinyinIME</string>

frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
                   在loadSecureSettings()中增加一条语句,制定默认使能的输入法

[java] view plain copy

  1. loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
  2. 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

  1. <string name="config_default_input_method" translatable="false">
  2. com.android.inputmethod.pinyin/.PinyinIME</string>

frameworks\base\services\java\com\android\server\InputMethodManagerService.java  的方法 buildInputMethodListLocked() 里添加:

[java] view plain copy

  1. String defaultIme = Settings.Secure.getString(mContext
  2. .getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
  3. if ( defaultIme == null )
  4. {
  5. final Resources res = mContext.getResources();
  6. try
  7. {
  8. //frameworks\base\core\res\res\values\config.xml
  9. String myIME = res.getString( com.android.internal.R.string.config_default_input_method );
  10. if ( myIME != null && myIME.length() > 0 )
  11. {
  12. Settings.Secure.putString( mContext.getContentResolver(),
  13. Settings.Secure.DEFAULT_INPUT_METHOD,
  14. myIME );
  15. }
  16. }
  17. catch ( Exception e )
  18. {
  19. }
  20. }

/

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 

  1. public void enableAllIMEsIfThereIsNoEnabledIME() {
  2. -           if (TextUtils.isEmpty(getEnabledInputMethodsStr())) {
  3. +           if (!TextUtils.isEmpty(getEnabledInputMethodsStr())) {
  4. StringBuilder sb = new StringBuilder();
  5. final int N = mMethodList.size();

3、设置默认输入法为你想要的,例如谷歌拼音,修改

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

[java] view plain copy 

  1. +  <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 

  1. -String config_defaultIME=mContext.getResources().getString(R.string.config_defaultIME);
  2. -if(config_defaultIME!=null&&(!" ".equals(config_defaultIME)))
  3. -loadSetting(stmt,Settings.Secure.DEFAULT_INPUT_METHOD,config_defaultIME);
  4. +loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
  5. +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 内置默认输入法相关推荐

  1. android百度输入法源码,Android内置第三方输入法

    Android内置第三方输入法 本篇讲诉如何再安卓源码中内置第三方输入法,并设为默认输入法启动,以及过程中可能引起的一些其他系统Bug处理: 内置输入法关联源码 各第三方输入法ID 以讯飞为例内置方法 ...

  2. Android内置第三方输入法

    https://blog.csdn.net/u014304560/article/details/78395103

  3. android11 源码内置第三方输入法并默认选择

    目录 1.屏幕截图 2.添加输入法APK 3.配置输入法 4.添加编译 android11内置第三方输入法,设置默认的输入法 1.屏幕截图 默认勾选可操作的输入法列表

  4. Android (内置)预装应用

    Android (内置)预装应用 参考Android 系统如何预装第三方应用以及常见问题汇集. 系统开机时会进行应用的加载(或者说安装),所以我们大体上来说就是需要把要内置的apk放到指定目录就行.最 ...

  5. Android系统内置第三方输入法

    Android系统内置第三方输入法 一.添加APK进系统目录 1.1  package/目录下创建子目录,例如:package/inputmethod/SogouInput 1.2 将下载好的输入法A ...

  6. Android 修改系统默认输入法

    原文出处:http://www.ccbu.cc/framework/modify-default-inputmethod.html 1. 修改系统默认输入法 Android系统的默认输入法在很多情况下 ...

  7. android 截屏 简书,Android 内置应用截屏方法

    Android 中,内置应用如何更好的截屏 在开发系统应用的时候,有时候需要用到截屏,因为 View.getDrawingCache() 截不到状态栏,所以这个方案不理想 这有一个更好的方案,就是用 ...

  8. Android 内置RTSP/RTMP服务器,实现局域网内视频推流与播放

    1. 背景 工作中有一个需求,在同一个局域网内, 需要将Android平板端(车机)上的摄像头上的画面,实时传输到手机上进行播放. 对于这个需求,我们想到了用RTSP/RTMP进行推流,然后在手机端拉 ...

  9. Android内置多个launcher设置默认launcher

    Android设置默认launcher 前言 高通 code MTK code 结语 前言 launcher因为开机即启动,若添加默认launcher过早则可能导致其他进程崩溃,添加过晚则起不到启动默 ...

最新文章

  1. 暑期集训3:几何基础 练习题B: HDU - 2001
  2. 帝国Cms虚拟主机突破上传最大文件2m的限制的方法
  3. 【每日一包0029】merge-descriptors
  4. CSS 文字处理总结
  5. 【计算机网络复习 数据链路层】3.3.2 差错控制(纠错编码)
  6. mybatis日期范围查询_15. Django 2.1.7 模型 条件查询、模糊查询、空查询、比较查询、范围查询、日期查询...
  7. docker 删除默认连接_database – 如何从已删除的Docker容器中恢复数据?如何将其重新连接到数据?...
  8. Linux常用50条命令
  9. SpringMVC小结(四)
  10. OpenGL天空盒skybox
  11. 云erp系统、进销存软件、仓储管理系统之间有哪些区别
  12. 微信小程序 import文件大小限制
  13. 谷歌浏览器字体最小12px
  14. JavaScript 获取当前是周几
  15. 阿里云建站云企业官网标准版/高级版/尊贵版功能对比及选择方法
  16. html网页设置音频,HTML教程 - 插入声音和音乐到HTML页面里
  17. php 时间间隔月数,PHP计算两个时间相差的年数、月数和天数程序
  18. 时间序列预测11:用电量预测 01 数据分析与建模
  19. Java写的十六进制转十进制和Ascii工具
  20. Shell之计算命令、流程控制、函数

热门文章

  1. 【JAVA】学习java 基础知识
  2. 计算机课说话检查200字,上课说话200字检讨书
  3. 新年最大空投,好东西一起分享
  4. 计算机类sci杂志排名,计算机类SCI杂志排名
  5. 缓冲区(buffer)与缓存(cache)
  6. redmine主题 - Flatly light redmine theme扁平化/轻主题
  7. 2021年年度总结(记录一下自己大学期间吧)
  8. Zephyr参考文档
  9. 基于51单片机的火灾报警系统设计
  10. IC卡数据编辑分析软件-M1卡分析助手