android切換輸入法工具類

android切換輸入法工具類

共享一個切換輸入法的工具類梧却,可以實現(xiàn)以下功能

  • 檢測輸入法是否安裝
  • 安裝輸入法
  • 切換輸入法(在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);
        }
    }

    /**
     * 切換將當(dāng)前輸入法,另啟一個線程
     */
    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);//這里你也可以使用Runtime.getRunteim的方法去執(zhí)行
            }
        });
        switchThread.start();
    }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末只壳,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子勤家,更是在濱河造成了極大的恐慌圾浅,老刑警劉巖掠手,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贱傀,居然都是意外死亡惨撇,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門府寒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來魁衙,“玉大人,你說我怎么就攤上這事株搔∑实恚” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵纤房,是天一觀的道長纵隔。 經(jīng)常有香客問我,道長炮姨,這世上最難降的妖魔是什么捌刮? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮舒岸,結(jié)果婚禮上绅作,老公的妹妹穿的比我還像新娘。我一直安慰自己蛾派,他們只是感情好俄认,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布个少。 她就那樣靜靜地躺著,像睡著了一般眯杏。 火紅的嫁衣襯著肌膚如雪夜焦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天岂贩,我揣著相機與錄音茫经,去河邊找鬼。 笑死萎津,一個胖子當(dāng)著我的面吹牛科平,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播姜性,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼髓考!你這毒婦竟也來了部念?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤氨菇,失蹤者是張志新(化名)和其女友劉穎儡炼,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體查蓉,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡乌询,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了豌研。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妹田。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鹃共,靈堂內(nèi)的尸體忽然破棺而出鬼佣,到底是詐尸還是另有隱情,我是刑警寧澤霜浴,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布晶衷,位于F島的核電站,受9級特大地震影響阴孟,放射性物質(zhì)發(fā)生泄漏晌纫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一永丝、第九天 我趴在偏房一處隱蔽的房頂上張望锹漱。 院中可真熱鬧,春花似錦类溢、人聲如沸凌蔬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砂心。三九已至懈词,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辩诞,已是汗流浹背坎弯。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留译暂,地道東北人抠忘。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像外永,于是被迫代替她去往敵國和親崎脉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,182評論 25 707
  • 第一次畫水彩畫伯顶,從網(wǎng)上扒的教程囚灼,但總是控制不好水量,總之問題多多祭衩。不過以后慢慢改進噠灶体!
    思緒_715閱讀 282評論 2 4
  • 你嘰嘰嘰嘰圖咯了手機記錄ill把他玩咯toll哦JJKKK巨魔lollKKK哦餿主意計策繼續(xù)聚集在來咯匿名無圖pu...
    鄉(xiāng)親直供海洋閱讀 470評論 1 2
  • 1路克、什么是一萬小時天才理論 一萬小時理論是一種關(guān)于成為大師樟结、天才的演繹推理,書中用大量的事實證明了精算,想成為大師級的...
    奔跑的湯盆兒閱讀 317評論 0 1
  • 凡人歌 - 李宗盛 你我皆凡人 生在人世間 終日奔波苦 一刻不得閑 既然不是仙 難免有雜念 道義放兩旁 利字擺中間...
    十年一井閱讀 568評論 0 0