Android 更换默认输入法

最近有客户反馈说机器上默认使用的搜狗输入法联网之后有时候会弹唱提示更新,会造成使用上一定的影响,因此需要把他更换成别的输入法,并把它设置成默认使用,在这里我们更换谷歌拼音输出法.在这里我的平台是rk3288,其他平台可根据自己平台名字找目录,大同小异.

  1. 将谷歌拼音apk编进固件,在device/rockchip/rk3288下新建一个Google目录,将谷歌拼音apk放入目录,并编写Android.mk

    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_MODULE := googlepinyin
    LOCAL_MODULE_CLASS := APPS
    LOCAL_MODULE_TAGS := optional
    LOCAL_BUILT_MODULE_STEM := package.apk
    LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
    #LOCAL_PRIVILEGED_MODULE :=
    #LOCAL_OVERRIDES_PACKAGES :=
    LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
    #LOCAL_REQUIRED_MODULES :=
    LOCAL_CERTIFICATE := PRESIGNED
    include $(BUILD_PREBUILT)
    
  2. 在device/rockchip/rk3288/device.mk下加入编译规则,让刚刚加入的apk在编译Android时自动编译,在device.mk里加入

    PRODUCT_PACKAGES += \
            googlepinyin
    

    以上是将apk预置进系统的步骤,详细的讲解请参考我博客,有很详细的讲解以及其他方法
    https://blog.csdn.net/Shushan1/article/details/87932032

  3. 设置谷歌拼音为默认输入法
    frameworks/base/packages/SettingsProvider/res/values/defaults.xml下

     com.google.android.inputmethod.pinyin/.PinyinIME
     com.google.android.inputmethod.pinyin/.PinyinIME
    

    frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java下

     loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
                R.string.config_default_input_method);
     loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
                R.string.def_default_input_method);
    

    packages/apps/Launcher3/src/com/android/launcher3/LauncherModel.java下添加:

     if("com.google.android.inputmethod.pinyin".equals(apps.get(i).getApplicationInfo().packageName))
     {
         continue;  
     }
    

到这里基本的修改就完成了,注意如果之前已经默认了输入法的,比如我的之前默认了搜狗输入法的,需要将搜狗输入法屏蔽掉,只留下你新加的输入法.

编译烧录测试OK.

你可能感兴趣的:(Android,&,Linux底层驱动)