关闭

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

369人阅读 评论(0) 收藏 举报
分类:


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

下面是详细步骤

首先将自定义输入法的包放到  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




1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:151516次
    • 积分:2462
    • 等级:
    • 排名:第15007名
    • 原创:62篇
    • 转载:222篇
    • 译文:1篇
    • 评论:14条
    文章分类
    最新评论