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() {            @Override            public 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();    }}

更多相关文章

  1. Android 线程超时的例子
  2. ANDROID ADB工具使用
  3. linux安装安卓开发工具android studio
  4. Android - 组件工具箱(widget tool box)
  5. Android工具下载
  6. android 禁止横屏时输入法全屏
  7. Android隐藏输入法软键盘的注意事项
  8. android强制隐藏输入法键盘(亲测可用,欢迎留言)

随机推荐

  1. Android 界面的基本属性
  2. TextView——文本省略显示
  3. 《Android秘籍.第一卷》
  4. Android常用adb命令总结
  5. Android Studio报错:Gradle project sync
  6. Android(安卓)解析gbk、gb2312编码的xml
  7. android 中生成xml文件
  8. Android拼接合并图片生成长图
  9. [Android 中级]Voip之CSipSimple类库的编
  10. 吐血推荐一些有用的网址1