生活随笔
收集整理的這篇文章主要介紹了
android切换输入法工具类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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)) {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切换输入法工具类的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。