android切换输入法工具类

共享一个切换输入法的工具类,可以实现以下功能

  • 检测输入法是否安装
  • 安装输入法
  • 切换输入法(在utf7Ime和android之间切换,如果需要切换成其他的输入法,请自行修改)

import android.util.Log;import com.meitu.travelapk.data.ConfigData;
import com.meitu.travelapk.data.PathData;
import com.meitu.travelapk.data.TestReport;import org.junit.Assert;
import org.junit.Test;import java.io.File;/*** 用于输入法的管理*/
public class InputMethodUtils {private static final String TAG = "InputMethodUtils";public static String UTF7_PKG = "jp.jun_nama.test.utf7ime";public static String UTF7_KEY = "jp.jun_nama.test.utf7ime/.Utf7ImeService";public static String Android_KEY = "com.android.inputmethod.latin/.LatinIME";public enum InputMethod {UTF7, ANDROID}/*** 安装utf7输入法*/public static void installUTF7() {if (!DeviceUtils.isAppInstalled(UTF7_PKG)) {//拷贝apk到指定目录String path = ConfigData.rootPath;String fileName = PathData.utfApkName;File apkFile = new File(path + fileName);if (!apkFile.exists()) {FileUtils.copyAssets(path, fileName);}//安装DeviceUtils.installApk(apkFile);}}/*** 切换将当前输入法,另启一个线程*/public static void switchInputMethod(final InputMethod input) {Thread switchThread = new Thread(new Runnable() {@Overridepublic void run() {String installCommand;switch (input) {case UTF7:if (!DeviceUtils.isAppInstalled(UTF7_PKG)) {installUTF7();}installCommand = "settings put secure default_input_method " + UTF7_KEY;TestReport.i("切换到输入法[utf7]");break;case ANDROID:installCommand = "settings put secure default_input_method " + Android_KEY;TestReport.i("切换到输入法[Android]");break;default:installCommand = "settings put secure default_input_method " + Android_KEY;break;}ShellUtils.execCommand(installCommand, false);}});switchThread.start();}}

android切换输入法工具类相关推荐

  1. Android软键盘工具类

    Android软键盘工具类 public class SoftKeyboardUtils {/*** 隐藏或显示软键盘* 如果现在是显示调用后则隐藏 反之则显示*/public static void ...

  2. Android常用的工具类

    2019独角兽企业重金招聘Python工程师标准>>> 最新最准确内容建议直接访问原文:Android常用的工具类 主要介绍总结的Android开发中常用的工具类,大部分同样适用于J ...

  3. Android使用的工具类

    Android实用的工具类 https://github.com/AbrahamCaiJin/CommonUtilLibrary#获取app应用版本信息--appapplicationmgr

  4. 退出整个Android程序的工具类

    在实际的Android开发过程中常常有退出整个Android程序的需求,下面给大家介绍一下如何编写一个退出整个Android程序的工具类 package com.superGao.exitApp; i ...

  5. android 单位转换工具,Android单位转换工具类

    Android单位转换工具类 Android单位转换工具类主要由以下4部分构成 1.这个类不能被初始化 2.dip转px接口 3.sp转px接口 4.px转dip接口 代码如下: import and ...

  6. Android 图片处理工具类封装2

    http://www.2cto.com/kf/201312/263638.html Android 图片处理工具类封装 2013-12-10     0个评论   来源:Wiker Yong 的专栏  ...

  7. Android开发常用工具类集合

    转载自:https://blog.csdn.net/xiaoyi_tdcq/article/details/52902844 Android开发常用工具类集合 android开发中为了避免重复造轮子, ...

  8. android 快速开发工具类,android面试知识点

    项目地址:570622566/FastAndrUtils  简介:android 快速开发工具类 更多:作者   提 Bug   官网 标签: Fastandrutils 是一套整理修改整合的 and ...

  9. android gps定位工具类,工具类之LocationUtils(定位工具类)

    无须引入第三方定位,单纯依赖v4包,如果只是需要简单的定位,那么这份工具类可以很好地帮助到你,老司机不多说,辛酸的话语都留在了代码里了,上效果演示 LocationDemo Demo牛逼地显示是当时查 ...

  10. android gps定位工具类,Android原生GPS和网络定位工具类

    在应用开发中我们常常需要网络获取位置的方法,这里做一个工具类的封装,使用的是Android原生定位,包含两种方式,一种是原生GPS一种是网络定位的封装实现: 工具类代码如下所示: package co ...

最新文章

  1. jQuery Mobile 笔记(1)- jQuery Mobile页面结构
  2. html向左箭头样式,详解Bootstrap的纯CSS3箭头按钮样式
  3. error LNK2026: 模块对于 SAFESEH 映像是不安全的(转)
  4. 编译原理实验语义分析_Windows MVSC编译器实现Xtended Flow Guard(XFG)保护机制的原理分析...
  5. 基于keepalived 实现VIP转移,lvs,nginx的高可用
  6. Java 读取excel 需要的jar_java自定义jar包读取Excel(包含2003和2007)数据,并举例说明...
  7. OpenCV精进之路(零):HighGUI——读写XML和YML文件
  8. DirectX Repair v4.2.0.40217 最新2022全能运行库系统修复工具增强版
  9. JavaScript高级程序设计 第4版
  10. 图像算法之3D人脸识别技术原理概述
  11. python数据挖掘电影评分分析_豆瓣电影数据与票房数据分析
  12. 高效的国产CAD设计工具,云端三维CAD设计平台:CrownCAD
  13. web攻击:XSS跨站脚本
  14. 【今天带大家用Python来制作一个自动抢票的脚本小程序】
  15. #762 (Div. 3) E. MEX and Increments(贪心构造
  16. 1162开放英语4 (2)
  17. 数模--0-1规划问题~Matlab中 intlinprog函数用法简介
  18. Java打开jnlp
  19. Hiredis 基本使用
  20. 如何[破解]观看加密受保护的视频文件

热门文章

  1. arcgis图像和坐标系统一致但不重合_学习ArcGIS,这62个Arcmap常用操作技巧可能帮到您...
  2. lua语言实现阴阳师自动脚本(内含可运行程序)
  3. matlab调和均值滤波_均值滤波和中值滤波的MATLAB实现
  4. linux回到桌面的命令符_Linux终端命令快捷键汇总
  5. 如何关闭mac的SIP
  6. matlab的小波分析,MATLAB小波分析学习.pdf
  7. 短信sdk:使用阿里云短信sdk
  8. python的统计库_Python-Scipy库-卡方分布统计量计算
  9. keil转换c为汇编语言,如何用Keil生成bin、汇编、C与汇编混合文件?
  10. uefi模式下修改Intel网卡MAC地址