Android6.0修改默认输入法

Android  2018年8月15日 am8:40发布6年前 (2018)更新 91es.com站长
99 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、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

常用的Monkey命令

Monkey的概念“猴子测试”是指没有测试经验的人甚至对计算机根本不了解的人(就像猴子一样)不需要知道程序的任何用户交互方面的知识,如果给他一个程序,他就会针对他看到的界面进行操作,其操作是无目的的、乱点乱按的。这种测试方式在产品周期中的早期阶段会找到很多很好的bug,为用户节省不少的时间。...

王小波:猫

下午,我回家的时候,看到地下室窗口的栅栏上趴着一只洁白的猫。它好象病了。我朝它走去时,它背对着我,低低的伏在那里,肚子紧紧的贴着铁条。我还从来没有见到过猫会这么谨小慎微的趴着,爪子紧紧的扒在铁条上。它浑身都在颤抖,头轻微的摇动着,耳朵在不停的转动,好象在追踪着每一个声响。它听见我的脚步声,每次我的...

Android studio优先引用framework.jar

前言记录一下Android Studio中编译apk优先使用自己编译的framework_classes.jar,这样就不会提示找不到资源啥的。网上也很多,但我这没成功,猜测可能跟Android Studio版本有关系。下面时我当前使用的版本,虽然又新版本,懒得更新。Android St...

MediaMetadataRetriever解析媒体文件元数据

前言记录一下,一般获取视频、音频等媒体文件的元数据信息是使用MediaMetadataRetriever这个类。正文直接上代码。MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();//设...

王小波:一只特立独行的猪

插队的时候,我喂过猪、也放过牛。假如没有人来管,这两种动物也完全知道该怎样生活。它们会自由自在地闲逛,饥则食渴则饮,春天来临时还要谈谈爱情;这样一来,它们的生活层次很低,完全乏善可陈。人来了以后,给它们的生活做出了安排:每一头牛和每一口猪的生活都有了主题。就它们中的大多数而言,这种生活主题是很悲惨的...

查看目录下文件和文件夹个数以及文件夹目录结构

前言有时候需要查看目录(存在多层嵌套)中有多少个文件和目录。cmd中使用命令查看目录和文件个数查看当前目录下文件个数ls -l |grep "^-" | wc -l查看当前目录下包含子目录的文件个数ls -lR |grep "^-" | wc -l查看当前目录下目录个数ls -...