Android 如何修改默认输入法

   一、适用于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及之后的 版本:

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

时间: 2024-07-31 19:18:03

Android 如何修改默认输入法的相关文章

android 怎么获取默认输入法

问题描述 android 怎么获取默认输入法 获取默认输入法,把名字打印出来,111111111111111111111111111111111111 解决方案 Android 修改默认输入法Android 修改默认输入法Android默认不弹出输入法 解决方案二: 随便一个editText获取的就是默认输入法啊 解决方案三: 你想要问的是 弹出输入法 还是 获取系统现在的默认输入法? 解决方案四: 方法一. InputMethodManager imm = (InputMethodManage

Android中系统默认输入法设置的方法(输入法的显示和隐藏)_Android

1.调用显示系统默认的输入法 方法一. InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(m_receiverView(接受软键盘输入的视图(View)),InputMethodManager.SHOW_FORCED(提供当前操作的标记,SHOW_FORCED表示强制显示)); 方法二. InputMethodManager

电脑中怎么修改默认输入法(定义自己的输入法)

1.我们在电脑桌或其它地方在任务栏都可以看到右下角有一个输入法按钮了,我们只要找到右击-"设置"如下图所示.   2.现在我们就进入了电脑的 "文字服务与输入语言"对话框了,在这里面我们会看到各种输入法了.   3.在文字服务与输入语言,我们可以增加删除或排序输入法.   4.如果你不需要其它输入法可以删除其它不用的输入法哦.   5.设置好之后我们点击确定,然后不管你在何处输入打字时默认不是你喜欢的输入法了.

android 如何修改默认时间格式

 1. 修改文件alpsframeworksbasepackagesSettingsProviderresvaluesdefaults.xml 增加代码<string name="time_12_24" translatable="false">24</string> 红色标记表示24小时制,也可以改为12(12小时制) 2. 修改文件alpsframeworksbasepackagesSettingsProvidersrccomandroi

如何修改Windows 7登录界面默认输入法

近日在一个偶然的机会发现了一个问题,有一台新安装Windows 7的计算机加入域后,重启进入登录界面时,其输入法默认被设置为"微软拼音"输入. 出现这个问题本来是不会影响计算机的正常使用的.但是,当用户在输入用户名时,由于大多数时候用户名是全英文字符串,在这种情况下就十分不方便,经常由于忘记切换回英文输入法而导致错误的操作. 此时的用户往往会将操作取消,或通过快捷键,或通过鼠标切换到英文输入法,这样多多少少会带来些许麻烦和不便. 那么要怎样的操作才能为Windows 7系统的登录界面指

Win 7登录界面默认输入法如何修改

近日在一个偶然的机会发现了一个问题,有一台新安装Windows 7的计算机加入域后,重启进入登录界面时,其输入法默认被设置为"微软拼音"输入. 出现这个问题本来是不会影响计算机的正常使用的.但是,当用户在输入用户名时,由于大多数时候用户名是全英文字符串,在这种情况下就十分不方便,经常由于忘记切换回英文输入法而导致错误的操作. 此时的用户往往会将操作取消,或通过快捷键,或通过鼠标切换到英文输入法,这样多多少少会带来些许麻烦和不便. 那么要怎样的操作才能为Windows 7系统的登录界面指

错误页面-Android如何修改webview默认出错页面

问题描述 Android如何修改webview默认出错页面 在Android中使用webview,但是当网页打不开的时候,默认的那个错误页面实在太丑了, 能不能把那个系统页面给直接修改了 自己想过不专业办法: 1.在onReceivedError的时候重新load个自己的html,但是这样返回回去还是能看到那个丑丑的默认页面. 2.或者在onReceivedError的时候展示一个自己的页面挡住默认错误页面,感觉不太专业 后来听说可以直接改掉系统的那个错误页面,但是不知道怎么改,有没有大神知道怎

android l版本-MTK平台,Android L版本,第三方输入法设为默认输入法的问题

问题描述 MTK平台,Android L版本,第三方输入法设为默认输入法的问题 按照FAQ上面的方法是在InputMethodManagerService.java中的systemRunning()方法中给perInstalledImeName赋值完整的第三方输入法包名ID,或者在system.prog文件中添加ro.mtk_default_ime的属性, String preInstalledImeName = SystemProperties.get("ro.mtk_default_ime&

Android framework系统默认设置修改

修改Settings源码可修改系统设置项,Settings数据被存放于com.android.providers.settings/databases/settings.db 中,如果想修改系统启动后加载的默认值 一种方法是直接修改settings.db的值 另一种就是修改SettingsProvider默认值 Settings应用能够配置Android系统的各种设置,这些设置的默认值都是由frameworks中的SettingsProvider从数据库中读取的,那么第一次开机的时候这些数据都是