ハード キーボードが接続されている場合でも、このサービスを使用してソフト キーボードを表示することを望んで、InputMethodService を拡張しました (次の投稿ハードウェア キーボードが接続されているにもかかわらず、ソフト キーボードを表示する に基づく)。マニフェストで宣言することなく、アプリ内でこのサービスにバインドする方法はありますか? 最終的には、ハード キーボードが接続されていてもソフト キーボードが表示されるように、InputMethodService.onEvaluateInputViewShown が true を返すようにします。
show/hideSoftKeyboard の inputmethodmanager で拡張クラス MultiInputMethodService を使用したいと思います。
public class MultiInputMethodService extends InputMethodService {
@Override
public boolean onEvaluateInputViewShown () {
Log.i("onEvaluateInputViewShow","onEvaluateInputViewShown");
return true;
}
}
私の活動:
private void showSoftKeyboard() {
InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY );
}
private void hideSoftKeyboard() {
InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(this.myInput.getEditText().getWindowToken(), 0);
}