ダイアログを出さずにIMEから別のIMEに切り替える方法
自分がIME(InputMethodServiceを継承したクラス)であればswitchInputMethod()を使用することで実現可能。ただし切り替えたい相手のIMEのパッケージ名を知っている必要があります。
class TestIME extends InputMethodService { public void changeIME(){ InputMethodManager manager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); ListinputMethodList = manager.getEnabledInputMethodList(); for(InputMethodInfo imi : inputMethodList){ if(imi.getPackageName().equals("切り替えたいIMEのパッケージ名")){ this.switchInputMethod(imi.getId()); } } } }
アプリからやるときはInputMethodManagerのsetInputMethod()が使用出来そうですが…また今度