CPU oracle facebook optimization timer cocos2d html5 Notify.js oracle一键卸载工具 oracle查询所有数据库 div外边距 etl数据 oracle连接字符串 git登录命令 java取绝对值 matlab读入图片 python运行环境 python随机数 python文件 python语言编程 python怎么下载 python安装模块 java数据类型 java获取年份 java中的继承 java接口类型 java中的注释 java泛型的使用 java中scanner用法 java特性 linux系统简介 lseek函数 无限视距 python爬虫代码 小程序开发工具下载 虚拟声卡驱动 模拟邻居 调试js 冰冠堡垒单刷路线 惠普打印机怎么加粉 巫师3福利
当前位置: 首页 > 学习教程  > 编程语言

Android修改默认输入法

2021/2/13 16:29:03 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

Android系统修改默认输入法 代码是lineageos17.1(lavender) 一、内置输入法进系统 这个百度很多资料,暂时留空,因为还没搞定内置可卸载应用 二、修改内置输入法 在frameworks/base/packages/SettingsProvider/res/values/defaults.xml文件后面追加下…

Android系统修改默认输入法

代码是lineageos17.1(lavender)

一、内置输入法进系统

这个百度很多资料,暂时留空,因为还没搞定内置可卸载应用

二、修改内置输入法

在frameworks/base/packages/SettingsProvider/res/values/defaults.xml文件后面追加下面代码

     <string name="def_input_method" translatable="false">com.iflytek.inputmethod/.FlyIME</string>

上面这个字符串视要内置的输入法而定,这个是讯飞的,当然也可以不要这段代码,下面直接硬编码。
然后在frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java文件的loadSecureSettings(SQLiteDatabase db)方法后面追加下面代码

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

就行了。

三、切换语言问题

切换语言的时候调用frameworks/base/services/core/java/com/android/server/inputmethod/InputMethodUtils.java这个文件的isSystemImeThatHasSubtypeOf方法判断输入法是否支持这个语言,在这个方法里面添加下面代码直接返回true就行了。

        if ("com.iflytek.inputmethod".equals(imi.getPackageName())) {
            return true;
        }

四、附加信息

默认输入法源码在packages/inputmethods目录下


本文链接: http://www.dtmao.cc/news_show_700042.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?