問題の説明
現在選択されているキーボードの言語を検出しようとしています。その目的のために、次のコードを使用します。
コード
/* Return the handle to a system-level service by name. The class of the returned
* object varies by the requested name. */
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
/* Returns the current input method subtype. This subtype is one of the subtypes in the
* current input method. This method returns null when the current input method doesn't
* have any input method subtype. */
InputMethodSubtype ims = imm.getCurrentInputMethodSubtype();
/* The locale of the subtype. This method returns the "locale" string parameter passed
* to the constructor. */
String locale = ims.getLocale();
しかし、アプリケーションは関数NoSuchMethodError
で例外をスローしgetCurrentInputMethodSubtype
ます。
質問
キーボードで選択した言語を取得する方法はありますか? いいえの場合、ユーザーがアプリケーションで入力している言語を検出するにはどうすればよいですか?