14

現在アクティブな入力方法をどのように判断しますか-ユーザーはテキスト編集フィールドを長押しすることで入力方法(ソフトキーボード)を変更できます-コードから、ユーザーが選択した入力方法をどのように判断しますか

4

1 に答える 1

30

おそらくこれはもう必要ないでしょうが、誰かがこれに対する答えを求めているかもしれません。この行を使用して、使用中のインプット メソッドの文字列 ID を取得できます。

String id = Settings.Secure.getString(
   getContentResolver(), 
   Settings.Secure.DEFAULT_INPUT_METHOD
);

現在のキーボードに関する詳細情報を取得したい場合は、次を使用できます。

    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    List<InputMethodInfo> mInputMethodProperties = imm.getEnabledInputMethodList();

    final int N = mInputMethodProperties.size();

    for (int i = 0; i < N; i++) {

        InputMethodInfo imi = mInputMethodProperties.get(i);

        if (imi.getId().equals(Settings.Secure.getString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD))) {

            //imi contains the information about the keyboard you are using
            break;
        }
    }
于 2011-04-19T22:10:52.377 に答える