[高通MSM8909][Android8.1]默认启用第三方输入法

开发平台基本信息

芯片: MSM8909
版本: Android 8.1
kernel: msm-3.18

问题描述

Android原生系统默认的输入法只支持英语输入,而经常有客户要求内置其他语言的输入法,比如中文拼音、韩语、法语等等。为了维护固件的统一性,第三方输入法我一般不会编译到内核中,都是后续通过oem镜像或者静默安装内置的;将输入法安装进系统发现第三方输入法不会默认启用,需要到系统设置的输入法中进行启用。

解决方法

--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -18,6 +18,7 @@
 -->
 <resources>
     <bool name="def_dim_screen">true</bool>
+    <string name="google_input_method" translatable="false">com.google.android.inputmethod.pinyin/.PinyinIME</string>
     <integer name="def_screen_off_timeout">60000</integer>
        <integer name="Telpo_screen_never_sleep">2147483646</integer>
     <integer name="def_sleep_timeout">-1</integer>
--- a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2399,6 +2399,9 @@ class DatabaseHelper extends SQLiteOpenHelper {
 
             loadStringSetting(stmt, Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
                     R.string.def_location_providers_allowed);
+
+            loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,R.string.google_input_method);
+
 
             // Don't do this.  The SystemServer will initialize ADB_ENABLED from a
             // persistent system property instead.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值