方案一:adb命令设置?
方案2:系统配置;
方案3:调用系统API接口设置
---------------------------
adb shell cmd
adb root
adb remount
adb push xx.apk /system/app  
---------------------------

#Android键盘(AOSP) ~ 系统默认
com.android.inputmethod.latin/.LatinIME

#谷歌拼音输入法
com.google.android.inputmethod.pinyin/.PinyinIME

#谷歌Gboard输入法
com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME

#触宝输入法国际版
com.cootek.smartinputv5/com.cootek.smartinput5.TouchPalIME

#Go 输入法
com.jb.emoji.gokeyboard/com.jb.gokeyboard.GoKeyboard

#SwiftKey Keyboard 输入法
com.touchtype.swiftkey/com.touchtype.KeyboardService

#搜狗输入法:
com.sohu.inputmethod.sogou/.SogouIME

#微软必应输入法
com.bingime.ime/.BingIme

---------------------------
#显示系统安装的输入法列表
adb shell ime list -s

#获取系统默认输入法
adb shell settings get secure default_input_method

#设置系统默认输入法
adb shell settings put secure default_input_method com.touchtype.swiftkey/com.touchtype.KeyboardService

示例:

设置输入法为默认输入法

adb shell settings put secure default_input_method com.cootek.smartinputv5/com.cootek.smartinput5.TouchPalIME

adb shell settings put secure default_input_method com.jb.emoji.gokeyboard/com.jb.gokeyboard.GoKeyboard

adb shell settings put secure default_input_method com.touchtype.swiftkey/com.touchtype.KeyboardService

adb shell settings put secure default_input_method com.sohu.inputmethod.sogou/.SogouIME

adb shell settings put secure default_input_method com.bingime.ime/.BingIme

---------------------------
关于国际化的输入法:(一个输入法apk可以同时满足中英日韩等不同国家语言文字输入

就目前测试了一圈,比较好用的有:

  • 触宝输入法国际版
  • Go 输入法
  • SwiftKey  // 被微软收购的

另外还有Swype(华为手机预置的输入法,现在已不再更新了)

其他:
Swype输入法 --安装后点击桌面相应图标后启用该输入法,下载中文、日文等语言包

SwiftKey 输入法支持的国家语言(中日韩英等……)
https://support.swiftkey.com/hc/en-us/articles/201598431-What-languages-are-currently-supported-for-SwiftKey-on-Android-

触宝输入法国际版 --有广告?
必应输入法 ? ---经过实验,发现必应输入法无法输入日语等,放弃!
---------------------------

代码实现输入法默认设置:

import android.provider.Settings;//导入包
// compile 'com.jakewharton.timber:timber:2.7.1'public class InputMethodUtil {/*** 若触宝输入法已安装,则设其为系统默认输入法* (写入Android系统数据库)*/public static void setDefaultInputMethod(Context context) {//获取系统已安装的输入法IDString[] methods = getInputMethodIdList(context);if (methods == null || methods.length == 0) {Timber.w(String.format("found no input method."));return;}//检查是否安装触宝输入法//触宝输入法ID "com.cootek.smartinputv5/com.cootek.smartinput5.TouchPalIME";String targetKeyword = "TouchPal";String value = "";for (String m : methods){Timber.d(String.format("find : %s", m));if (m.toLowerCase().contains(targetKeyword.toLowerCase())){value = m;//找到触宝输入法
            }}if (value == "") {Timber.w(String.format("didn't find " + targetKeyword));return;}//设置默认输入法String key = Settings.Secure.DEFAULT_INPUT_METHOD;boolean success = Settings.Secure.putString(context.getContentResolver(), key, value);Timber.d(String.format("writeDbDefaultInputMethod(%s),result: %s", value,success));//读取默认输入法String current = Settings.Secure.getString(context.getContentResolver(),key);Timber.d(String.format("current default: %s",current));}/*** 获取系统已安装的输入法ID* @param context* @return*/public static String[] getInputMethodIdList(Context context) {InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);if (imm != null && imm.getInputMethodList() != null) {String[] methodIds = new String[imm.getInputMethodList().size()];for (int i = 0; i <imm.getInputMethodList().size(); i++) {methodIds[i] = imm.getInputMethodList().get(i).getId();}return methodIds;}return new String[]{};}
}

ref:

Enabling third party input methods in Android on Chrome OS
https://nolirium.blogspot.com/2017/08/enabling-third-party-input-methods-in.html

android修改默认输入法相关推荐

  1. Android 修改默认输入法

    我们知道Android源码中默认的有三种输入法:英文,中文,日文.那么我们现在要把手机默认百度输入法应该怎么去做呢? 首先,你需要内置百度输入法在你的工程里面.怎么内置呢,在package/app/目 ...

  2. android7.0输入法切换,7.0 Android系统修改默认输入法后,切换系统语言时输入法自动切到AOSP的解决办法...

    Android 7.0设置默认输入法参考下面的文章 Android修改默认输入法 切换系统语言之后,系统会默认将输入法切换到Andorid Keyboard(AOSP) /frameworks/bas ...

  3. android代码修改默认输入法,Android 4.3 源码下如何修改默认输入法

    应项目(Android 4.3)需求需要修改默认输入法,本来想的是,这个应该很简单的撒.随google之-,发现网上主要罗列出以下这种方法:在 frameworks\base\core\res 因项目 ...

  4. Android 9.0 禁用屏幕锁屏和修改默认输入法为谷歌输入法功能实现

    目录 1.概述 2.禁用屏幕锁屏和修改默认输入法为谷歌输入法功能实现的核心类

  5. Android预置默认输入法

    1.编译打包签名的输入法apk CangjieIME.apk 2.拷贝apk到源码指定目录,编写编译mk文件 # cd /work/xxx/android7/device/rockchip/rk33x ...

  6. 输入法智能联想 Java_[Android6.0][MTK6737] 修改默认输入法为 Sogou

    title: [Android6.0][MTK6737] 修改默认输入法为 Sogou tags: grammar_cjkRuby: true Hardware:MT6737 DeviceOS:And ...

  7. rk3399 Android7.1 修改系统时区、修改默认输入法、修改系统默认语言

    1.修改默认语言 进入源码目录,使用如下命令 root@ubuntu:/3399_backup/g3399-v7-1-2-20180529_backup# find . -name full_base ...

  8. Android 修改默认的背景壁纸(msm8909)

    Android 修改默认的背景壁纸 第一步定位文件: /frameworks/base/core/res/res中的drawable-sw720dp-nodpi .drawable-sw600dp-n ...

  9. Android TV 源码修改默认输入法

    前一阵子,应泰国客户需求,需要在Android TV系统定制一个多语言输入法,至少支持中.英.泰三种语言.拿到这个任务,对于至今还是小白的我来说,当然先去google一下有没有大神专门做过符合要求的输 ...

最新文章

  1. c语言 如何读多种数据类型 非类,c语言程序设计教学大纲(非电气类)文档.doc
  2. Linux下使用tee既在屏幕上显示输出,又把输出写进文件
  3. 近期活动盘点:设计与人工智能思享会、制造业的转型升级到产业跃迁思享会、瓜子二手车周洲讲座(10.30-11.1)...
  4. macOS Big Sur 使用全新虚拟化框架创建超轻量虚拟机!
  5. 延时队列实现的几种姿势
  6. SAP Spartacus checkout页面的入口逻辑
  7. 查看MySQL表占用空间大小
  8. Integer和Int的比较,谈谈拆卸和装箱
  9. Android渠道包自动发布市场,Android Gradle实现打包指定渠道后自动上传到fir
  10. moodle升级完整过程
  11. 新一代华为折叠屏手机MateX2,你会考虑入手吗?
  12. 可见的轮廓线用虚线绘制_CAD制图初学入门教程:CAD软件中如何绘制轴测图?
  13. 15.高性能MySQL --- 备份与恢复
  14. 波音可以自己做安全认证,错误在于故意掩盖问题
  15. Vue + Spring Boot 项目实战(十一):用户角色权限管理模块设计
  16. 实验一 Linux基本操作
  17. 100流明相当于多少w_lx和瓦数换算(1lx等于多少w)
  18. labview文件写入与读取
  19. cf刷题记录- 5 1
  20. 再来看一下培根的<论读书>吧!

热门文章

  1. onBlur和onfocus事件
  2. 手机移动端可滚动的导航代码
  3. 页面操作权限-vue
  4. 英语口语283之每日十句口语
  5. Mac更新10.14后频繁重启
  6. MySQL安装的苦难辉煌——6次卸载7次安装,希望我的弯路你不要走。。。
  7. UCGLE-master学习
  8. vue 利用 vue-print-nb 实现打印功能遇到的问题
  9. ERP工程师的职责是什么
  10. SSH自动输入密码,取消首次连接确认