[Description]

如何修改默认输入法?

[Solution]

一、适用于ICS(Android V4.0)之前的版本:

1. 安装需要用的默认输入法(.apk)到system/app

2. 修改文件 frameworks/base/packages/SettingsProvider/res/values/defaults.xml

默认输入法 ID

红色标记表示输入法 ID,比如 PinyinIME 为:com.android.inputmethod.pinyin/.PinyinIME

二、适用于 ICS、JB、JB2、KK的 版本:

1. 需要提前将用到的默认输入法(.apk)内置到系统中(请参考如何将APK预置进系统)

2. 修改文件 mediatek/config/${Project}/ProjectConfig.mk

将宏 DEFAULT_INPUT_METHOD 的值设置为所需的输入法;

比如 PinyinIME,则设为:DEFAULT_INPUT_METHOD = com.android.inputmethod.pinyin.PinyinIME

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

补充说明:

KK的版本不需要一下修改:

上面的修改方法只适用于默认输入法为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 mtk平台,android mtk平台默认输入法相关推荐

  1. [Android系统]android7.1 修改系统默认输入法

    参看博客: Android 7.0 删除原生输入法(AOSP)&更换系统默认输入法_Photon128的博客-CSDN博客_aosp输入法 [RK3288][Android6.0] 调试笔记 ...

  2. Android 9.0 修改搜狗为默认输入法,并且授予运行权限

    1.概述 在9.0的产品系统ROM定制化开发过程中,在android系统中默认的输入法就是不带中文输入法的,所以产品要求需要更换搜狗为默认输入法,这首选要更换系统默认的输入法 配置,然后在系统启动的时 ...

  3. Android 10.0 修改搜狗为默认输入法,并且授予运行权限

    在系统开发中,修改系统默认输入法也是经常需要修改的功能,但是替换为搜狗输入法以后,点击输入框时,会弹出 授权权限对话框 感觉是特别麻烦的,所以在framework中要授予搜狗app运行时权限 第一步: ...

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

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

  5. MTK驱动(46)---- Android CPU频率设置(MTK平台)

    Android CPU频率设置(MTK平台) 1.CPU 频率设置 主要设置CPU的最大和最小频率 mPerfServiceWrapper.userReg 注册 mPerfServiceWrapper ...

  6. MTK平台Android 安全中secure boot机制

    一.相关名词解释 1.公钥:通俗来说,公钥就是公开的密钥,是私钥拥有者公开的,公钥通常用于加密会话密钥.验证数字签名,或加密可以用相应的私钥解密的数据. 2.私钥:私有的钥匙,不会公开,私钥加密又称为 ...

  7. Android 系统(138 )---Mtk平台 Android 打包解包*.img ,修改system.img 参数

    Mtk平台 Android 打包解包*.img ,修改system.img 参数 MTK 升级包文件如下: 若存在软件版本号存在错误或需要修改,重新编译则需要几个小时,或者要几天的测试 若可以直接修改 ...

  8. MTK 驱动(73)---MTK 6761平台 android O bootloader启动之 Pre-loader -amp;gt; Lk

    MTK 6761平台 android O bootloader启动之 Pre-loader -> Lk 1.bootloader到kernel启动总逻辑流程图 ARM架构中,EL0/EL1是必须 ...

  9. android 遥控器映射,MTK 平台Android系统遥控器映射关系

    MTK 平台Android系统遥控器映射关系 在我们工作中,经常要去适配遥控器的工作,但是大部时候我们是移植其他工程上的代码来修改,可能对Android系统中的按键关系有些不清楚,下面以MTK平台为例 ...

最新文章

  1. C# winform treeview node添加右键菜单并选中节点
  2. Azure实践系列 1:部署和基本配置Azure AD
  3. 【小夕精选】多轮对话之对话管理(Dialog Management)
  4. 微软企业库4.1学习笔记(三十六)日志模块 简介
  5. Oracle 19c 新特性:ADG的自动DML重定向增强读写分离
  6. 行列式的本质是什么?(附MATLAB代码)
  7. Python使用marshal模块操作二进制文件
  8. 关于Entity Data model掌握灵活的数据模型 EntityFramework(1)(翻译)
  9. PCL:RANSAC 空间直线拟合
  10. 支付宝免签在线支付要饭教程
  11. 数据防泄密方案与需求匹配程度分析
  12. 《电感元器件》的特性分析
  13. wf显示远端服务器无反应,无线路由器连接不上网络,一直提示网络服务器远端无响应!...
  14. 品达物流TMS项目_第6章 数据聚合服务开发(pd-aggregation)
  15. 深入浅出PaddlePaddle函数——paddle.Tensor
  16. 【天眼数聚】微信小程序 活体识别提示“照片质量低”
  17. sql server怎么实现mysql 中的locate函数
  18. A CLOSER LOOK AT DEEP LEARNING HEURISTICS: LEARNING RATE RESTARTS, WARMUP AND DISTILLATION
  19. 结合继承的思想,定义项目经理类Manager及程序员类Coder【行为:工作work】
  20. “过气网红”准备复出? 诺基亚新机或将接入鸿蒙系统

热门文章

  1. 机器学习入门|线性回归(二)
  2. 201703-2-学生排队
  3. Java 网络教程: ServerSocket
  4. Spark入门实战系列--3.Spark编程模型(上)--编程模型及SparkShell实战
  5. VIM插件: NERDTREE[树形目录]安装与使用
  6. 集算器协助MongoDB计算之交叉汇总
  7. 转:一个Sqrt函数引发的血案
  8. java的cxf的maven_Maven+Spirng+Mybatis+CXF搭建WebService服务
  9. 电大计算机考试将网页保存到桌面,电大计算机网考小抄.pdf
  10. Spring知识点总结-3