您的位置:首页 > 其它

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

2015-11-18 13:10 197 查看
最近研究了一个新技术,就是将自定义的输入法设置为系统默认的输入法,需要修改安卓源码

下面是详细步骤

首先将自定义输入法的包放到 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: