触觉智能分享-RK3568 Android11修改默认输入法
前言
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修改默认输入法相关推荐
- 触觉智能分享-RK3568在金融自助终端的应用
前言 随着经济的飞速发展,传统柜面服务因其成本高.拓展速度慢.服务时间受限而成为银行发展的一个瓶颈,因此,一种可以满足大多数消费者金融消费需要,且成本投入低的金融服务方式成为各银行的强烈需求,在这种情 ...
- 输入法智能联想 Java_[Android6.0][MTK6737] 修改默认输入法为 Sogou
title: [Android6.0][MTK6737] 修改默认输入法为 Sogou tags: grammar_cjkRuby: true Hardware:MT6737 DeviceOS:And ...
- Android 9.0 禁用屏幕锁屏和修改默认输入法为谷歌输入法功能实现
目录 1.概述 2.禁用屏幕锁屏和修改默认输入法为谷歌输入法功能实现的核心类
- android代码修改默认输入法,Android 4.3 源码下如何修改默认输入法
应项目(Android 4.3)需求需要修改默认输入法,本来想的是,这个应该很简单的撒.随google之-,发现网上主要罗列出以下这种方法:在 frameworks\base\core\res 因项目 ...
- android7.0输入法切换,7.0 Android系统修改默认输入法后,切换系统语言时输入法自动切到AOSP的解决办法...
Android 7.0设置默认输入法参考下面的文章 Android修改默认输入法 切换系统语言之后,系统会默认将输入法切换到Andorid Keyboard(AOSP) /frameworks/bas ...
- rk3399 Android7.1 修改系统时区、修改默认输入法、修改系统默认语言
1.修改默认语言 进入源码目录,使用如下命令 root@ubuntu:/3399_backup/g3399-v7-1-2-20180529_backup# find . -name full_base ...
- 触觉智能分享-修改Android开机动画
本文适用于我司基于RK PX30开发的系列主板(IDO-SOM3020/IDO-EVB3020)修改开机画面,搭载四核A35处理器,主频高达1.5 GHz,采用 Mali-G31 MP2 GPU,支 ...
- 触觉智能分享-Android ADB工具使用
本次使用IDO-EVB3568开发板Android系统作为测试,本文将一一介绍以上adb常用功能. IDO-EVB3568是基于RK3568的工控主板,四核A55 2.0G 主频,支持高达8GB高速L ...
- Android TV 源码修改默认输入法
前一阵子,应泰国客户需求,需要在Android TV系统定制一个多语言输入法,至少支持中.英.泰三种语言.拿到这个任务,对于至今还是小白的我来说,当然先去google一下有没有大神专门做过符合要求的输 ...
- Android 如何修改默认输入法
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...
最新文章
- netscaler密码恢复
- 【Linux】34. shell脚本判断当前年份是否正确
- c++ map是有序还是无序的_C++ STL中Map的按Key排序和按Value排序
- html使两个按钮重叠,div按钮重叠HTML
- 计算机精英协会考核题 —— 第二题:蛇形填数
- html中盒子模型立体结构图
- vue --- compoent妙用
- linux挂载CentOS yum,centos7本地挂载yum仓库
- 解决SourceTree不断提示输入密码问题
- 《HTML CSS JavaScript 网页制作从入门到精通 第3版》—— 2.8 其他标记
- 【疑难杂症】AiO Runtimes 微软常用运行库合集工具一键式安装全部 Windows 系统必备常用运行库合集,解决各种.dll文件缺失问题
- lwip-2.1.3在STM32F103ZE+ENC28J60有线网卡上无操作系统移植(使用STM32 HAL库)
- IPV6之DHCPV6
- html前端实现李峋爱心代码 百分百复刻
- qq西游服务器制作教程,QQ西游服务端文件说明 - 『天命/QQ西游』 - 任逍遥网游交流社区 | 任逍遥网游单机架设论坛 - Powered by Discuz!...
- 用python可以做什么有趣的事情_用python做一些有趣的事(一)——根据照片制作版画...
- BrowserSync 本地服务器的起用
- 如何直观理解AUC评价指标?
- 如何解决layui弹出层闪退的问题
- linux 添加动态链接库的方法
热门文章
- MFC 解压7z文件
- 关于中国电信天翼开放平台短信接口的一些使用
- 设置TextView滚动
- html datetime控件 到时分秒,日期控件:datepicker(bootstrap)支持时分秒
- golang中的strings.ToLower
- python条形图一直长_Python MatPlotlib条形图调整宽度
- XCOM串口调试软件的安装与使用(附串口及驱动资源包)
- 公众号接收用户消息—《微信公众平台开发实战与应用案例》—陈小龙
- ES官网reference翻译文章(18)—Percentile Ranks Aggregation
- C#压缩图片文件大小