2016-04-20 20 views
2

私のカスタムキーボードで、キーボードをデフォルトのキーボードに切り替えるボタンを作成したいと思います。私は、このような入力キーボードを設定する方法を考え出した:この場合ユーザーのIDを取得する方法

final String LATIN = "com.android.inputmethod.latin/.LatinIME"; 
final IBinder token = this.getWindow().getWindow().getAttributes().token; 
imm.setInputMethod(token, LATIN); 

、私はデフォルトのユーザー指定のキーボード(LATINキーボード)にキーボードを切り替えるでしょう実装したいボタンを押します。

問題はこの特定の例では、文字列が既に与えられていることです。

InputMethodを設定できるように、デフォルトのユーザー指定のキーボードのIDの文字列を見つけるにはどうすればよいですか。

答えて

1

次の例のように、現在アクティブなキーボードのIDを取得することができます:

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

あなたのソフトキーボードは、現在の入力のために使用されている場合、上記のコードは、キーボードのIDを返します。

しかし、あなたはこのような何か行うことができます:あなたの入力ピッカーボタンをクリックすると、あなたが入力メソッドの一覧を表示し、ユーザーは自分が好きなものは何でも入力方法を選択させることができ を:

InputMethodManager inputManager = (InputMethodManager) this.getBaseContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
     inputManager.showInputMethodPicker(); 

上記のコードは、入力メソッドを選択できるシステムダイアログを開きます。 また、以下のコードのような入力メソッドのリストを得ることができます:

関連する問題