前言

RK3568 Android11平台自带Android英文输入法,本文基于IDO-EVB3568平台,以百度输入法为例,介绍安装和内置第三方输入法的方法。

我司基于RK3568开发的工控主板,四核A55 2.0G 主频,支持高达8GB高速LPDDR4,1T算力NPU ,4K H.265硬解码,4K HDMI2.0显示输出,支持双通道LVDS/eDP/两路MIPI DSI 等多种显示接口,支持3屏异显。板载2路千兆以太网,双频WIFI+蓝牙,支持5G或4G通信,支持2路USB3.0和7路USB2.0/SATA3.0,5路串口(UART/RS232/RS485),2路CAN总线。支持Android11/Debian10/Ubuntu20/Buildroot/麒麟OS/开源鸿蒙等多种操作系统。

一、获取输入法名称

在将输入法内置到系统之前,可以通过手动安装的方式,获取输入法的包名和类名。

通过adb安装输入法apk,并使用ime list命令查看输入法包名类名

> adb install baidu_input.apk
> adb shell ime list -s
com.android.inputmethod.latin/.LatinIME
com.baidu.input/.ImeService

二、输入法预安装

将输入法apk文件添加至 device/rockchip/rk356x/rk3568_r/preinstall_del/ 目录下,编译后该APK文件将会预安装至系统。

三、环境变量修改

添加环境变量def_input_method,指定变量值为输入法的包名和类名。修改内容如下

--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -246,4 +246,7 @@<!-- should show the screenshot button default --><integer name="def_screenshot_button_show">0</integer>
+
+     <!-- set default input method-->
+     <string name="def_input_method" translatable="false">com.baidu.input/.ImeService</string></resources>

四、设置默认输入法

在设置源码中,指定DEFAULT_INPUT_METHOD为要设置的输入法。修改内容如下

--- a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2319,6 +2319,9 @@ class DatabaseHelper extends SQLiteOpenHelper {try {stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)"+ " VALUES(?,?);");
+
+           loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
+                    R.string.def_input_method);// Don't do this.  The SystemServer will initialize ADB_ENABLED from a// persistent system property instead.

五、给输入法添加默认权限

输入法一般需要定位、存储等权限,可通过预先设置输入法默认的权限,避免输入法启动时弹出权限申请确认弹窗。修改内容如下

--- a/frameworks/base/services/--- a/frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
+++ b/frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
@@ -527,6 +527,9 @@ public final class DefaultPermissionGrantPolicy {String[] calendarSyncAdapterPackages = (syncAdapterPackagesProvider != null) ?syncAdapterPackagesProvider.getPackages(CalendarContract.AUTHORITY, userId) : null;+       // baidu input
+        grantPermissionsToPackage(pm, "com.baidu.input", userId, false, true, ALWAYS_LOCATION_PERMISSIONS,STORAGE_PERMISSIONS,PHONE_PERMISSIONS,MICROPHONE_PERMISSIONS,CONTACTS_PERMISSIONS);
+// InstallergrantSystemFixedPermissionsToSystemPackage(pm,ArrayUtils.firstOrNull(getKnownPackages(

六、输入法测试

可通过adb命令查看系统默认输入法

> adb shell settings get secure default_input_method

经过以上步骤的系统修改,点击系统桌面上的编辑框,默认调用的输入法将会变更为修改后的输入法。

触觉智能分享-RK3568 Android11修改默认输入法相关推荐

  1. 触觉智能分享-RK3568在金融自助终端的应用

    前言 随着经济的飞速发展,传统柜面服务因其成本高.拓展速度慢.服务时间受限而成为银行发展的一个瓶颈,因此,一种可以满足大多数消费者金融消费需要,且成本投入低的金融服务方式成为各银行的强烈需求,在这种情 ...

  2. 输入法智能联想 Java_[Android6.0][MTK6737] 修改默认输入法为 Sogou

    title: [Android6.0][MTK6737] 修改默认输入法为 Sogou tags: grammar_cjkRuby: true Hardware:MT6737 DeviceOS:And ...

  3. Android 9.0 禁用屏幕锁屏和修改默认输入法为谷歌输入法功能实现

    目录 1.概述 2.禁用屏幕锁屏和修改默认输入法为谷歌输入法功能实现的核心类

  4. android代码修改默认输入法,Android 4.3 源码下如何修改默认输入法

    应项目(Android 4.3)需求需要修改默认输入法,本来想的是,这个应该很简单的撒.随google之-,发现网上主要罗列出以下这种方法:在 frameworks\base\core\res 因项目 ...

  5. android7.0输入法切换,7.0 Android系统修改默认输入法后,切换系统语言时输入法自动切到AOSP的解决办法...

    Android 7.0设置默认输入法参考下面的文章 Android修改默认输入法 切换系统语言之后,系统会默认将输入法切换到Andorid Keyboard(AOSP) /frameworks/bas ...

  6. rk3399 Android7.1 修改系统时区、修改默认输入法、修改系统默认语言

    1.修改默认语言 进入源码目录,使用如下命令 root@ubuntu:/3399_backup/g3399-v7-1-2-20180529_backup# find . -name full_base ...

  7. 触觉智能分享-修改Android开机动画

    本文适用于我司基于RK PX30开发的系列主板(IDO-SOM3020/IDO-EVB3020)修改开机画面,搭载四核A35处理器,主频高达1.5  GHz,采用 Mali-G31 MP2 GPU,支 ...

  8. 触觉智能分享-Android ADB工具使用

    本次使用IDO-EVB3568开发板Android系统作为测试,本文将一一介绍以上adb常用功能. IDO-EVB3568是基于RK3568的工控主板,四核A55 2.0G 主频,支持高达8GB高速L ...

  9. Android TV 源码修改默认输入法

    前一阵子,应泰国客户需求,需要在Android TV系统定制一个多语言输入法,至少支持中.英.泰三种语言.拿到这个任务,对于至今还是小白的我来说,当然先去google一下有没有大神专门做过符合要求的输 ...

  10. Android 如何修改默认输入法

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

最新文章

  1. netscaler密码恢复
  2. 【Linux】34. shell脚本判断当前年份是否正确
  3. c++ map是有序还是无序的_C++ STL中Map的按Key排序和按Value排序
  4. html使两个按钮重叠,div按钮重叠HTML
  5. 计算机精英协会考核题 —— 第二题:蛇形填数
  6. html中盒子模型立体结构图
  7. vue --- compoent妙用
  8. linux挂载CentOS yum,centos7本地挂载yum仓库
  9. 解决SourceTree不断提示输入密码问题
  10. 《HTML CSS JavaScript 网页制作从入门到精通 第3版》—— 2.8 其他标记
  11. 【疑难杂症】AiO Runtimes 微软常用运行库合集工具一键式安装全部 Windows 系统必备常用运行库合集,解决各种.dll文件缺失问题
  12. lwip-2.1.3在STM32F103ZE+ENC28J60有线网卡上无操作系统移植(使用STM32 HAL库)
  13. IPV6之DHCPV6
  14. html前端实现李峋爱心代码 百分百复刻
  15. qq西游服务器制作教程,QQ西游服务端文件说明 - 『天命/QQ西游』 - 任逍遥网游交流社区 | 任逍遥网游单机架设论坛 - Powered by Discuz!...
  16. 用python可以做什么有趣的事情_用python做一些有趣的事(一)——根据照片制作版画...
  17. BrowserSync 本地服务器的起用
  18. 如何直观理解AUC评价指标?
  19. 如何解决layui弹出层闪退的问题
  20. linux 添加动态链接库的方法

热门文章

  1. MFC 解压7z文件
  2. 关于中国电信天翼开放平台短信接口的一些使用
  3. 设置TextView滚动
  4. html datetime控件 到时分秒,日期控件:datepicker(bootstrap)支持时分秒
  5. golang中的strings.ToLower
  6. python条形图一直长_Python MatPlotlib条形图调整宽度
  7. XCOM串口调试软件的安装与使用(附串口及驱动资源包)
  8. 公众号接收用户消息—《微信公众平台开发实战与应用案例》—陈小龙
  9. ES官网reference翻译文章(18)—Percentile Ranks Aggregation
  10. C#压缩图片文件大小