全部刷机文件与附件,只针对付费尊贵顾客开放----新注册会员请联系在线客服

AI手机网,大数据互联网营销平台,手机群控软件

 找回密码
 立即注册
搜索
查看: 119|回复: 1

Android 安卓手机 替换/修改系统默认输入法 默认第一输入法

[复制链接]

517

主题

612

帖子

3809

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3809
发表于 2018-1-31 14:14:35 | 显示全部楼层 |阅读模式
ro.default_sogou_inputmethod=1

各大输入法的服务

ro.mtk_default_ime=com.tencent.qqpinyin.QQPYInputMethodService//默认qq输入法
ro.mtk_default_ime=com.sohu.inputmethod.sogou.SogouIME//默认搜狗输入法
ro.mtk_default_ime=com.baidu.input.ImeService//默认百度输入法
ro.mtk_default_ime=com.iflytek.inputmethod.oem.FlyIME//默认讯飞输入法
ro.mtk_default_ime=com.baidu.input_huawei.ImeService//华为输入法


一、适用于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、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");//这里修改
默认选中的输入法






上一篇:MTK芯片编译到preloader报错 preloader解锁BL (bootloader)方案
下一篇:解决 umount 时出现的 &quot;Device is busy&quot; 无法挂载系统system分区问题
本帖地址:http://www.aialbb.com/thread-408-1-1.html

1、专业群控,云控,脚本开发,手机ROM技术开发。开发QQ:735394006

2、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关

3、帖子作者无需承担一切因本文发表而直接或间接导致的民事或刑事法律责任

11

主题

485

帖子

1037

积分

金牌会员

Rank: 6Rank: 6

积分
1037
发表于 2018-9-3 11:22:19 | 显示全部楼层

学习学习,谢谢分享………………
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|AI手机网 |黑公网安备23040302000005号

GMT+8, 2018-12-15 04:27 , Processed in 0.110176 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表