将自定义输入法设置为系统默认输入法

原创 2015年11月18日 13:10:51


最近研究了一个新技术,就是将自定义的输入法设置为系统默认的输入法,需要修改安卓源码

下面是详细步骤

首先将自定义输入法的包放到  vonder/xxx/apps/自定义输入法(package),添加Android.mk文件


LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)


LOCAL_PACKAGE_NAME := helloIme


LOCAL_MODULE_TAGS := optional


LOCAL_SRC_FILES := $(call all-java-files-under, src)


LOCAL_STATIC_JAVA_LIBRARIES := layoutlib


LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res




LOCAL_CERTIFICATE := platform


LOCAL_PROGUARD_FLAG_FILES := proguard.flags


include $(BUILD_PACKAGE)


然后先编译一下自定义输入法 mmm vendor/xxx/apps/自定义输入法

编译完成之后

将这个包加到 device/ti/blaze_tablet/device.mk 文件中

PRODUCT_PACKAGES += \
        helloIme


修改framework代码


1.  frameworks\base\packages\SettingsProvider\res\values\defaults.xml 文件中修改默认输入法为搜狗输入法

        <string name="config_default_input_method" translatable="false">com.sohu.inputmethod.sogou/.SogouIME

        </string>

        <string name="def_enabled_input_methods" translatable="false">com.sohu.inputmethod.sogou/.SogouIME

        </string>


//com.sohu.inputmethod.sogou/.SogouIME此为搜狗输入法的ID,若要自定义输入法,修改ID即可

 

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);





最后make一下,重新生成system.img




修改其他输入法为android 默认输入法

有些输入法预制到系统中时默认情况下是不能直接使用的,要在设置->语言和键盘中勾选相应输入法,这里提供了一种参考改进,使预制输入法直接可用。 共有两处修改,第一处:       在android2....
  • wh_19910525
  • wh_19910525
  • 2012年10月05日 17:09
  • 10433

设置系统默认输入法为

android2.3 frameworks/base/packages/SettingsProvider/res/values/defaults.xml:           com.andr...
  • chaod5659
  • chaod5659
  • 2013年03月28日 09:49
  • 1341

Android.Settings类&设置默认输入法

Android的所有系统设置项(如音量、触摸提示音、默认输入法等信息)均是保存到一个数据库。在界面上调整设置时将值保存到该数据库,开机时将从数据库读取值作为默认设置。这些读取、设置操作都可以通过API...
  • wkw1125
  • wkw1125
  • 2017年10月27日 19:31
  • 342

macosx输入法将英文设成默认

最近搞了台mac机,输入法默认不是英文, 有点麻烦。 摸了几天,找到了规律。   选择打开语言与文本偏好设置-> 输入源(所有勾去掉,美国英文去不掉)将越南文, 越南文输入法 Unikey打上勾->...
  • fjh658
  • fjh658
  • 2013年01月08日 21:20
  • 10312

android4.4修改出厂默认输入法

1、 需要提前将用到的默认输入法(.apk)内置到系统中 2、将系统中所有的输入法设置为可用,修改 frameworks/base/core/java/com/android/internal/inp...
  • yuxiangyunei
  • yuxiangyunei
  • 2015年03月22日 23:46
  • 7165

android 内置默认输入法

方法一:         修改文件如下:                frameworks\base\packages\SettingsProvider\res\values\default...
  • cfc1243570631
  • cfc1243570631
  • 2017年01月11日 16:47
  • 1199

C# Winfrom 默认输入法的设置

在WINFORM中我们经常遇到文本输入框中输入法被禁用或老是变全角输入法等问题,经查阅相关资料,现小结如下: (一)Control.ImeMode 属性:获取或设置控件的输入法编辑器 (IME) 模...
  • limlimlim
  • limlimlim
  • 2012年12月10日 17:17
  • 4388

Android 4.3 源码下如何修改默认输入法

应项目(Android 4.3)需求需要修改默认输入法,本来想的是,这个应该很简单的撒。随google之~,发现网上主要罗列出以下这种方法: 在 frameworks\base\core\res\re...
  • CHENMING321
  • CHENMING321
  • 2014年09月26日 16:07
  • 2761

【转】LinuxMint新手教程3:fcitx输入法的安装与配置

大概新手人都曾纠结过LinuxMint下的输入法配置问题。其实这个问题也挺容易的。下面我就以安装ppa源中的sogou输入法为例来为大家讲解: 安装搜狗输入法大概用如下命令就能解决了: sudo ...
  • disappearedgod
  • disappearedgod
  • 2015年08月11日 10:07
  • 3874

关于获取安卓手机系统输入法和设置输入法

关于获取安卓手机系统输入法和设置输入法获取输入法列表adb shell ime list -s 出来下面的 io.appium.android.ime/.UnicodeIME c...
  • happymff
  • happymff
  • 2017年05月18日 11:17
  • 1126
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将自定义输入法设置为系统默认输入法
举报原因:
原因补充:

(最多只允许输入30个字)