Android6.0修改默认输入法

Android  2018年8月15日 am8:40发布6年前 (2018)更新 城堡大人
124 0 0


系统内置了搜狗输入法,但有时候系统起来后输入法不是搜狗,客户很捉急,因此只好百度了一下下,参考大神们的教程。

我这使用的代码是Android 6.0的,在SettingsProvider没有找到配置项,我记得以前Android 4.2上是有写配置项的,可Android 6.0中竟然没有,,无语了。(SettingsProvider这块代码目前没有看过,后续有机会瞧一瞧)

废话少说,直接进入正题。

1、新增输入法默认值

路径:android_6_0_frameworks\base\packages\SettingsProvider\res\values\defaults.xml

在defaults.xml新增一个string

    <string name="default_Enable_Input_Methods">com.android.inputmethod.latin/.LatinIME:com.sohu.inputmethod.sogou/.SogouIME</string>

上面红色部分就是输入法的服务,我用的是搜狗。

这里附上国内比较大众的输入配置

百度:com.baidu.input/.ImeService
讯飞:com.iflytek.inputmethod/.FlyIME
腾讯:com.tencent.qqpinyin/.QQPYInputMethodService
谷歌:com.google.android.inputmethod.pinyin/.PinyinIME
搜狗:com.sohu.inputmethod.sogou/.SogouIME
触宝:com.cootek.smartinput5/.TouchPalIME

需要不同的输入法只要修改红色部分即可。

2、输入法默认值写入系统

路径:android_6_0_frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java

在loadSecureSettings()方法中新增红色部分代码即可。

    private void loadSecureSettings(SQLiteDatabase db) {
        SQLiteStatement stmt = null;
        try {
             ......
            【把默认值写入系统数据库】
            loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
                    R.string.default_Enable_Input_Methods);

        } finally {
            if (stmt != null) stmt.close();
        }
    }

注意上面红色字体,这里使用的是Settings.Secure.ENABLED_INPUT_METHODS下面简单说说这两的区别

loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS, R.string.def_input_method);

loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.def_input_method);

这样建立起数据库,属性为ENABLED_INPUT_METHODS设置完后,这样在安卓settings中,对应的输入法是打钩的,设置多个就打钩多个;属性为DEFAULT_INPUT_METHOD设置完后,其对应的输入法就是为默认的输入法了。

网上有说,更改语言后输入法也会被改变,这个我这里没有试到。如果你的有出现,可以文章末尾的链接修改。

本文参考《Android7.0更换系统默认输入法》和《Android 修改默认输入法

 历史上的今天

  1. 2023: SystemServer的启动之一(0条评论)
  2. 2020: 林清玄 :其实生活都一样,看你怎么想(0条评论)
  3. 2020: windows下FFmpeg使用以及ffmpeg抽取视频的关键帧(0条评论)
  4. 2019: android.view.ViewRootImpl$CalledFromWrongThreadException(0条评论)
  5. 2019: 朱湘:海外寄霓君(节选)(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

麦芒:生活与危机

梦见的还是十年前的危机生活,却仍然是眼前的生活两种因素似被姻缘强拧在一起我记得,一个冬夜危机宛如积雪休闲的火山正对着度蜜月假的一对夫妻旅馆二层房间敞开的窗口不知是为了让屋内的人向外眺望还是让屋外的火山朝里窥视哎,没有马车驰过的空旷街道就像被声音遗弃的微潮的黎明让我替你说出...

隐藏Settings中的Preference笔记

在Android项目开发中,客户要求精简Settings,也就是删除部分不需要或者无用的功能,因此需要影藏Preference等,下面是摘抄网友并自己加工整理的。隐藏 Preference 有两种方法:一、先在xml布局里面删,然后在java里面删掉调用的相关部分,但如果很多地方都有调...

Android App启动时间检测

前言记录一下App启动优化,方便自己查阅。正文App启动时间检测adb shell am start -W com.biumall.demo/.MainActivity运行结果ThisTime: 最后一个Activity启动时间 [上面指定了是MainActivity启动时间]To...

早班火车:淡黄色的山坡

我记得我们象鸟儿一样站在树上坡下是另一个村庄我们吆喝着彼此的名字那声音在脚下盘旋连山上的刚冒出来的嬷嬷花都听到了我们去刨小蒜我们看麦地一群群暗褐色的乌鸦红拉拉的喙落下来啄食幼苗我们虚张声势惊走他们风很大半导体里的天气预报说“北部”的时候我们的老师就解释那是说我们的家乡年轻人...

wordpress隐藏文章的部分内容,登录可见

前言隐藏文章的部分内容,需要注册登录网站后可见正文下面是实现代码和使用方式。function.php 末尾/** * WordPress 只允许已登录的用户查看文章内容 */add_shortcode( 'members_only', 'members_only_shortcode...

Android批量拷贝文件

前言项目需要,封装了批量拷贝管理类。虽然有线程池,但也得做线程个数进行一定的限制。部分思路参考OKHTTP。正文这个只是copy文件,不考虑目录copy。隐藏内容!付费阅读后才能查看!¥4多个隐藏块只需支付一次付费阅读参考文章参考OkHttp思路