前言
         欢迎大家我分享和推荐好用的代码段~~
声明
         欢迎转载,但请保留文章原始出处:
         CSDN:
http://www.csdn.net
         雨季o莫忧离:http://blog.csdn.net/luckkof

正文

一、适用于ICS(Android V4.0)之前的版本:
1. 安装需要用的默认输入法(.apk)到system/app
2. 修改文件 frameworks/base/packages/SettingsProvider/res/values/defaults.xml

<string name="default_input_method" translatable="false">默认输入法 ID</string>
红色标记表示输入法 ID,比如 PinyinIME 为:com.android.inputmethod.pinyin/.PinyinIME

二、适用于 ICS、JB、JB2及之后的 版本:
1. 需要提前将用到的默认输入法(.apk)内置到系统中(请参考如何将APK预置进系统)

2. 修改文件 mediatek/config/${Project}/ProjectConfig.mk
将宏 DEFAULT_INPUT_METHOD 的值设置为所需的输入法;
比如 PinyinIME,则设为:DEFAULT_INPUT_METHOD = com.android.inputmethod.pinyin.PinyinIME

这个值是输入法源码中,包含InputMethodService子类的那个包名.实现InputMethodService的子类的类名。这里比log中打印的完整类名少一个"/",请注意

补充说明

上面的修改方法只适用于默认输入法为com.android.inputmethod.pinyin/.PinyinIME这种格式的输入法(即反斜杠后面就是类名的情况),

对于com.google.andr
oid.inputmethod.latin/com.android.inputmethod.latin.LatinIME (即反斜杠后面是完整类名的情况),

这种情况是不支持修改mediatek/config/${Project}/ProjectConfig.mk
里面DEFAULT_INPUT_METHOD的方法来设置默认输入法的。

以com.google.andr
oid.inputmethod.latin/com.android.inputmethod.latin.LatinIME 为例

请改用下面的方法修改,在SettingsProvider 的DatabaseHelper.java中

             Log.i(TAG, "defaultIME : " + defaultIME);
            if (defaultIME != null) {
                StringBuffer strBuffer = new StringBuffer(defaultIME);
                int lastDotPos = defaultIME.lastIndexOf(".");
                String strInsert = "/";
                strBuffer.insert(lastDotPos, strInsert);
                loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
                        strBuffer.toString());
            } else {
                Log.i(TAG, "default IME from IMEFeatureOption is null!!");
            }
请将默认的初始化部分code删除,即将 下面的code都删除掉。
 Log.i(TAG, "defaultIME : " + defaultIME);
            if (defaultIME != null) {
                StringBuffer strBuffer = new StringBuffer(defaultIME);
                int lastDotPos = defaultIME.lastIndexOf(".");
                String strInsert = "/";
                strBuffer.insert(lastDotPos, strInsert);
                loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
                        strBuffer.toString());
            } else {
                Log.i(TAG, "default IME from IMEFeatureOption is null!!");
            }
然后在删除的后面添加
  loadSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
   "com.google.andr
oid.inputmethod.latin/com.android.inputmethod.latin.LatinIME"); //这里修该默认enable的输入法

loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
   "com.google.andr
oid.inputmethod.latin/com.android.inputmethod.latin.LatinIME");//这里修改默认选中的输入法

Android 如何修改默认输入法相关推荐

  1. android代码修改默认输入法,Android 4.3 源码下如何修改默认输入法

    应项目(Android 4.3)需求需要修改默认输入法,本来想的是,这个应该很简单的撒.随google之-,发现网上主要罗列出以下这种方法:在 frameworks\base\core\res 因项目 ...

  2. android7.0输入法切换,7.0 Android系统修改默认输入法后,切换系统语言时输入法自动切到AOSP的解决办法...

    Android 7.0设置默认输入法参考下面的文章 Android修改默认输入法 切换系统语言之后,系统会默认将输入法切换到Andorid Keyboard(AOSP) /frameworks/bas ...

  3. Android 9.0 禁用屏幕锁屏和修改默认输入法为谷歌输入法功能实现

    目录 1.概述 2.禁用屏幕锁屏和修改默认输入法为谷歌输入法功能实现的核心类

  4. android mtk平台,android mtk平台默认输入法

    [Description] 如何修改默认输入法? [Solution] 一.适用于ICS(Android V4.0)之前的版本: 1. 安装需要用的默认输入法(.apk)到system/app 2. ...

  5. android 内置默认输入法

    方法一: 修改文件如下:                frameworks\base\packages\SettingsProvider\res\values\defaults.xml        ...

  6. 输入法智能联想 Java_[Android6.0][MTK6737] 修改默认输入法为 Sogou

    title: [Android6.0][MTK6737] 修改默认输入法为 Sogou tags: grammar_cjkRuby: true Hardware:MT6737 DeviceOS:And ...

  7. rk3399 Android7.1 修改系统时区、修改默认输入法、修改系统默认语言

    1.修改默认语言 进入源码目录,使用如下命令 root@ubuntu:/3399_backup/g3399-v7-1-2-20180529_backup# find . -name full_base ...

  8. android设备修改默认桌面为自定义应用

    android设备修改默认桌面为自定义应用 应用场景 在一些专用安卓设备(例如丰巢柜),可能需要在点击默认的home键时启动自定义应用,屏蔽用户开启其他应用的入口,可通过下面介绍的方法将自己的应用设置 ...

  9. Android系统修改默认语言为中文

    Android系统修改默认语言为中文 对于Android系统修改默认语言的方法,各个版本的系统方法都差不多一致,至少我在Android5.1和Android9.0使用都成功,具体方法如下: 在buil ...

最新文章

  1. 31页官方PPT,回顾史上最大芯片WSE:科技的壮丽美感!
  2. 【效率】如何有效提问
  3. 有小数点的补码怎么算_写给投资小白,指数基金,在哪买?怎么买?
  4. 初始化字典的6种方式
  5. Spark Streaming整合flume实战
  6. python 编码规范
  7. 数据分析写作——程序员的另外一种输出
  8. C语言如何用fopen创建可读写txt
  9. 2015年 不可不知的五大热点话题
  10. Android自定义控件(四)——让每一个Activity UI都具有弹性
  11. 第五章 Spark-SQL进阶(一)之Dataset用法
  12. toolchain安装教程支持_网上现成toolchain安装操作
  13. lvds输入悬空_lvds接口定义
  14. 8个免费恶搞照片在线生成网站
  15. 网线传输速度测试_「网络速度测试」网络速度测试 - seo实验室
  16. Android应用生命周期实现简单的秒表App
  17. powerDesigner 反向生成mysql数据库库
  18. java 构造器 血药主题_Day08-面向对象编程,Java构造器
  19. Hadoop实例学习(八)全排序和区排序
  20. (Emitted value instead of an instance of Error)

热门文章

  1. arcgis字段计算器赋值_基于ArcGIS的python编程 18、在字段计算器中使用Python脚本
  2. FFmpeg连载4-音频解码
  3. sdk和JDK的区别
  4. Python量化开源框架、库
  5. casio计算机屏幕坏了,卡西欧相机坏了怎么办
  6. 想开发一个微信分销商城系统?
  7. 科沃斯机器人拆解_周末清洁大会战 篇三十七:科沃斯扫地机器人朵朵S四年后的配件选购及终极清洁与拆解,以后不坏不拆,至死不渝!...
  8. Chrome修改User Agent插件推荐
  9. java GUI版坦克大战
  10. gateway笔记本玩《孤胆枪手2》蓝屏的解决