Android9 更改系统默认输入法

说明

默认输入法 QQPinyin。

添加代码如下

1,添加 PRODUCT_PACKAGES
build/make/target/product/core.mk
PRODUCT_PACKAGES += QQPinyin
2,添加QQPinyin.apk
packages/apps/QQPinyin/QQPinyin.apk
packages/apps/QQPinyin/Android.mk  不用添加库文件也可以的。

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed
LOCAL_MODULE := QQPinyin
LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_PRIVILEGED_MODULE := true

LOCAL_PREBUILT_JNI_LIBS:= \
               @lib/armeabi/libA3AEECD8.so  \
               @lib/armeabi/libAgc_v1.so \
               @lib/armeabi/libETConverter.android.so  \
               @lib/armeabi/libawp.so  \
               @lib/armeabi/libbutterfly.so  \
               @lib/armeabi/libconscrypt_jni.so  \
               @lib/armeabi/libencrypt_v00.so  \
               @lib/armeabi/libsecurity.so  \
               @lib/armeabi/libsogou_speex_nt_v01.so  \
               @lib/armeabi/libsogouupdcore.so  \
               @lib/armeabi/libspeex_nt_v01.so  \
               @lib/armeabi/libvad-lib.so  \
               @lib/armeabi/libweibosdkcore.so


LOCAL_CERTIFICATE := PRESIGNED
#LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
#LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/app
include $(BUILD_PREBUILT)

 3.配置默认值,如果没需要添加。
frameworks/base/packages/SettingsProvider/res/values/defaults.xml

<string name="default_input_method" translatable="false">com.tencent.qqpinyin/.QQPYInputMethodService</string>
 <string name="enabled_input_methods" translatable="false">com.tencent.qqpinyin/.QQPYInputMethodService</string>

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

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

            loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
                    R.string.enabled_input_methods);

4,切换语言使默认输入法不改变。

--- a/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
+++ b/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
@@ -138,6 +138,11 @@ public class InputMethodUtils {
             final Context context, final boolean checkDefaultAttribute,
             @Nullable final Locale requiredLocale, final boolean checkCountry,
             final String requiredSubtypeMode) {
+
+        if("com.tencent.qqpinyin".equals(imi.getPackageName())){
+            return true;
+        }
+
         if (!isSystemIme(imi)) {
             return false;
         }

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值