最近在开发一个安卓手机投屏,在封装输入文本的时候,我们知道shell input text默认是不支持中文的,我们需要在目标手机安装ADBKeyBoard,问题是如何切换到这个输入法,如果我们的手机采用了第三方是输入发,比如讯飞,QQ拼音,其实是支持中文的输入的,这就造成了冲突,我们必须在切换到ADBKeyBoard后,输入完,再切换到默认的输入法,我们可以调用adb shell settings put secure default_input_method来完成默认输入的设置,下面把开发中用到的输入法相关的知识做个记录总结分享。

ADBKeyBoard

官网:https://github.com/senzhk/ADBKeyBoard
QQ输入法
http://qq.pinyin.cn/index_mobile.php
切换到ADBKeyBoard

adb shell ime set com.android.adbkeyboard/.AdbIME

手机输入法查看

1.获取当前设备有效的输入法列表

adb shell ime list -s

注意: -s并不是已安装的所有输入法,而是安装并已勾选的输入法。
启用方式:
系统设置>>通用>>语言和输入法>>勾选输入法
2.检查可用的全部虚拟键盘:

adb shell ime list -a

3.获取当前设备有效输入法的详细信息

adb shell ime list

4.查看当前正在使用的输入法
当我们封装切换时,必须先知道这个输入法的默认名称,以下时获取方式:

adb shell settings get secure default_input_method

输出:
这个是ADBKeyBoard

com.android.adbkeyboard/.AdbIME

这个是QQ拼音,

com.tencent.qqpinyin/.QQPYInputMethodService

切换输入法(设置默认输入法)

1.普通切换
这是切换到QQ拼音

adb shell ime set com.tencent.qqpinyin/.QQPYInputMethodService

这是切换到ADBKeyBoard,其他的先执行adb来获取

adb shell ime set com.tencent.qqpinyin/.QQPYInputMethodService

2.切换输入法并且设为设置默认输入法(推荐使用这个命令)
这是把qq拼音输入法切换启用并设为默认

adb shell settings put secure default_input_method  com.tencent.qqpinyin/.QQPYInputMethodService

这是把ADBKeyBoard输入法切换启用并设为默认

adb shell settings put secure default_input_method  ime set com.android.adbkeyboard/.AdbIME

这样的话,我们在封装shell input text时就可以默认支持中文了。

ADBKeyBoard.apk 切换Android输入法完美解决中文输出相关推荐

  1. android输入法中文在哪里设置,android输入法怎么设置中文

    android输入法怎么设置中文?对于Android开发者来说,好的模拟器可以事半功倍,特别是在现在Android设备层出不穷的市场中,为了兼容各个版本,需要模拟器和真机的测试,真机成本不小,模拟器是 ...

  2. QT for android 比较完美解决 全屏问题

    QT for android 比较完美解决 全屏问题 参考文章: (1)QT for android 比较完美解决 全屏问题 (2)https://www.cnblogs.com/wuyaSama/p ...

  3. JAVA之NIO按行读写大文件,完美解决中文乱码问题

    JAVA之NIO按行读写大文件,完美解决中文乱码问题 参考文章: (1)JAVA之NIO按行读写大文件,完美解决中文乱码问题 (2)https://www.cnblogs.com/jpfss/p/89 ...

  4. LibreOffice完美解决中文字体问题(在黑暗中摸索了好久~)

    LibreOffice完美解决中文字体问题(在黑暗中摸索了好久~) 参考文章: (1)LibreOffice完美解决中文字体问题(在黑暗中摸索了好久~) (2)https://www.cnblogs. ...

  5. win10系统无法相互切换中英文输入法的解决方法

    win10系统无法相互切换中英文输入法怎么办?很多使用win10系统的用户都会遇到输入法无法切换的问题,有时候必须重启才可以正常的切换.那么是什么原因导致的输入法经常无法正常的切换呢?下面小编就详细的 ...

  6. js java base64,JavaScript BASE64算法实现(完美解决中文乱码)

    这篇文章主要介绍了JavaScript BASE64算法实现(完美解决中文乱码),先用escape()对中文进行编码.然后再进行base64编码. 解码时,再加入()对中文进行解码,这样就可以避免中文 ...

  7. cocos2dx java 乱码_[cocos2d-x] --- 完美解决中文乱码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一 介绍 最近由于各种各样的原因,好长时间没有学习cocos2d-x了.突然有种害怕的感觉,这样下去,以前学的关于cocos2d-x的一点皮毛会彻底忘记的 ...

  8. 如何在Word里的字母上方添加特殊符号——“拼音指南”+“切换域代码”完美解决!

    有时候我们为了在行文中加入一些希腊文字表示特定变量,同时要求在希腊文字上方插入一些特殊符号,为了解决随之出现的行间距变大问题,我们可以使用"拼音指南"+"切换域代码&qu ...

  9. signature=0e936ad5c99bd8d603e71fa74e787bee,JavaScript 的 BASE64 算法 实现 完美解决中文乱码...

    收藏的Base64编码/解码.在一个外国网站看到的.不过对中文不支持. 自己加入了escape,.对中文也支持了. 先用escape()对中文进行编码.然后再进行base64编码. 解码时,再加入() ...

最新文章

  1. 那些年我们一起追过的缓存写法(二)
  2. html中亮度怎么写,html – 使用CSS更改背景的亮度
  3. 大话西游维护完怎么刷服务器,大话西游2很实用:看高玩教你如何快速刷齐高端套装...
  4. Oracle/mysql查询语句的执行过程
  5. Java基础之路--引用数据类型之数组
  6. 计算机考试如何添加打印机,如何添加网络打印机?
  7. java每隔多长时间执行一次_crontab中如何实现每隔多少天执行一次脚本
  8. 获取一个字符串在另一个字符串中出现的次数
  9. F.Studio 远程备份系统
  10. 怎样使用Google chrome播放 .swf 文件
  11. html中ul和li是什么单位,html中ul,ol和li的区别
  12. ❤️万字攻略,详解腾讯面试❤️
  13. 2018年第九届蓝桥杯JAVA A组国赛 —— 第二题:阅兵方阵(暴力)
  14. redhat安装wine教程_Ubuntu20.04LTS安装搜狗输入法
  15. linux下常用vi操作命令
  16. MATLAB图形绘制--离散数据绘图
  17. Android视频进阶之旅(一)_概念介绍
  18. PAT_乙级1010
  19. TWI和Advanced Hall Sensors共同项目- CFLUX
  20. 无锡计算机编程表演赛2021,“云动迎新春 欢乐满锡城” 无锡市2021新春全民健身线上运动会即将上线!...

热门文章

  1. 大数据岗位面试失败的经历总结,这些面试的坑莫在踩
  2. matlab 数字滤波入门
  3. 拦截器HandlerInterceptor+方法参数解析器HandlerMethodArgumentResolver用于统一获取当前登录用户信息
  4. 自定义view实现阻尼效果的加载动画
  5. EEE406 Power System Analysis(学习整理 Week 1)
  6. 科研经验003:获取指定期刊的Latex/word模板
  7. python实现多语言语种识别_python langid实现语种识别
  8. MKD软件仿真进入死循环的解救经验
  9. 硬盘引导恢复(mbr主引导记录的恢复)
  10. 「首度揭秘」大规模HPC生产环境 IO 特征