RK3566&3568修改默认输入法为第三方输入法


前言

需求:因为安卓自带的AOSP键盘无法输入中文,所以内置一个第三方输入法并直接修改为默认的输入法来解决问题


提示:以下是本篇文章正文内容,下面案例可供参考

一、首先获取输入法的包名

在将输入法内置到系统之前,可以通过手动安装的方式,获取输入法的包名和类名,我这里是使用搜狗输入法。

1.使用ime list命令查看输入法包名类名

adb shell ime list -s

得到如下两个输入法的包名和类名
在这里插入图片描述
可以看到com.sohu.inputmethod.sogou/.SogouIME就是我们要的,
ps:有个坑:一定要完整的带上/.而不是直接com.sohu.inputmethod.sogou.SogouIME因为这是有关权限的服务,你填错代码就无效了…

二、输入法内置进系统

1.放入客制化目录

将输入法apk文件添加至vendor\rockchip\common\apps目录下,并修改.mk文件,各个厂商的内置方式都不同,我这里就不演示了。

三、修改环境变量

在目录frameworks\base\packages\SettingsProvider\res\values\defaults.xml
添加环境变量config_default_input_method,指定变量值为输入法的包名和类名。修改内容如下:

    <!-- add by LQX -->
    <!--输入法的列表-->
    <string name="enabled_input_methods" translatable="false">com.android.inputmethod.latin/.LatinIME:com.sohu.inputmethod.sogou/.SogouIME</string>
    <!--默认输入法-->
    <string name="config_default_input_method" translatable="false">com.sohu.inputmethod.sogou/.SogouIME</string>
    <!-- end, add by LQX -->

四、设置为默认输入法

路径:frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
在设置源码中,指定config_default_input_method为要设置的输入法。修改内容如下:

    private void loadSecureSettings(SQLiteDatabase db) {
        SQLiteStatement stmt = null;
        try {
            stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)"
                    + " VALUES(?,?);");		
			.....
				
            loadIntegerSetting(stmt, Settings.Secure.SLEEP_TIMEOUT,
                    R.integer.def_sleep_timeout);
            //By-LQX
            loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS, R.string.enabled_input_methods);
            loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.config_default_input_method);
            //By-LQX
            /*
             * IMPORTANT: Do not add any more upgrade steps here as the global,
             * secure, and system settings are no longer stored in a database
             * but are kept in memory and persisted to XML.
             *
             * See: SettingsProvider.UpgradeController#onUpgradeLocked
             */
        } finally {
            if (stmt != null) stmt.close();
        }
    }

五、测试输入法是否为默认

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

adb shell settings get secure default_input_method

在这里插入图片描述

总结

至此教程结束。

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RK3568是一款芯片,主要用于智能设备和嵌入式系统。在RK3568设置中,默认启动第三方桌面可以通过以下步骤实现。 首先,我们需要进入RK3568设置界面。可以通过点击设备的设置图标或者在应用程序列表中找到设置应用来进入设置界面。 在设置界面中,我们需要找到"显示"或"桌面"这样的选项。不同设备可能会有不同的设置界面结构,但一般来说,我们可以通过滚动或点击不同的选项卡来找到我们需要的选项。 在"显示"或"桌面"选项中,我们可以找到"默认桌面"这样的选项。点击进入该选项后,我们就可以看到当前选择的桌面。 默认情况下,RK3568可能会预设一个自带的桌面作为默认桌面。如果我们希望启动第三方桌面,我们可以在"默认桌面"选项中选择我们喜欢的第三方桌面应用。 RK3568可能会提供一些常见的第三方桌面应用供选择,比如Nova Launcher、Microsoft Launcher等。如果我们已经在设备中安装了其他第三方桌面应用,我们也可以在这里选择该应用作为默认桌面。 选择了第三方桌面后,我们可以返回到设备的主屏幕并重新启动设备。此时,我们就可以看到选择的第三方桌面已经成为默认启动的桌面。 请注意,不同的设备和操作系统版本可能会有不同的设置界面布局和选项名称。如果在设置中找不到类似的选项,可以参考设备的用户手册或在互联网上搜索相关的设置指南。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值