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


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

下面是详细步骤

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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值