瑞芯微Rockchip开发者社区
直播中

申换换

7年用户 1474经验值
私信 关注
[问答]

如何将RK3288的默认输入法设置为中文?

如何将RK3288的默认输入法设置为中文?

回帖(1)

王若鸿

2022-3-10 10:47:57
  
添加方法:


1. 添加第三方apk
路径: rk3288/device/rockchip/rk3288/Sougou:
Android.mk    //标准预置第三方apk方法
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := sougoushurufa
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)

路径: rk3288/device/rockchip/rk3288
device.mk
diff --git a/device.mk b/device.mk
index c9f1ec4..e058a2c 100644
--- a/device.mk
+++ b/device.mk
@@ -47,6 +47,10 @@ endif
PRODUCT_COPY_FILES +=
    device/rockchip/rk3288/rk3288_box/init.rc:root/init.rc
    device/rockchip/rk3288/fstab.rk30board.bootmode.unknown:root/fstab.rk30board.bootmode.unknown
    device/rockchip/rk3288/rk3288_box/fstab.rk30board.bootmode.emmc:root/fstab.rk30board.bootmode.emmc
else
  PRODUCT_COPY_FILES +=
    device/rockchip/rk3288/fstab.rk30board.bootmode.unknown:root/fstab.rk30board.bootmode.unknown
    device/rockchip/rk3288/fstab.rk30board.bootmode.emmc:root/fstab.rk30board.bootmode.emmc
endif

+#170401, add sougou input method.
+PRODUCT_PACKAGES +=
+    sougoushurufa
+

2. 设置默认属性以及加载到database中
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index d75b742..cc8e961 100755
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -217,4 +217,7 @@
     
     false

    //此属性默认没有设置,需要自己添加.
+   
+    com.sohu.inputmethod.sogou/.SogouIME
+

diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 0b122a4..657af87 100755
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2535,6 +2535,10 @@ class DatabaseHelper extends SQLiteOpenHelper {
             loadIntegerSetting(stmt, Settings.Secure.SLEEP_TIMEOUT,
                     R.integer.def_sleep_timeout);

+            /*Kris, 170401, Add default input method to database. */
+            loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
+                    R.string.def_input_method );
+
             /*
              * IMPORTANT: Do not add any more upgrade steps here as the global,
              * secure, and system settings are no longer stored in a database

  
3. 使能所有输入法

默认情况下只有一种输入法是被使能的,如果要使能全部, 可做如下修改

[kris@ecovacs:~/rk3288/frameworks/base]$ g df
diff --git a/core/java/com/android/internal/inputmethod/InputMethodUtils.java b/core/java/com/android/internal/inputmethod/InputMethodUtils.java
index 742173b..1c26d51 100644
--- a/core/java/com/android/internal/inputmethod/InputMethodUtils.java
+++ b/core/java/com/android/internal/inputmethod/InputMethodUtils.java
@@ -926,12 +926,12 @@ public class InputMethodUtils {
         // At the initial boot, the settings for input methods are not set,
         // so we need to enable IME in that case.
         public void enableAllIMEsIfThereIsNoEnabledIME() {
-            if (TextUtils.isEmpty(getEnabledInputMethodsStr())) {
+            if (!TextUtils.isEmpty(getEnabledInputMethodsStr())) {
                 StringBuilder *** = new StringBuilder();
                 final int N = mMethodList.size();
                 for (int i = 0; i < N; i++) {
                     InputMethodInfo imi = mMethodList.get(i);
-                    Slog.i(TAG, "Adding: " + imi.getId());
+                    Slog.i(TAG, "Adding: " +***.toString()+ imi.getId());
                     if (i > 0) ***.append(':');
                     ***.append(imi.getId());
                 }
举报

更多回帖

发帖
×
20
完善资料,
赚取积分